Почему «а»! = «А» в C? - PullRequest
       17

Почему «а»! = «А» в C?

110 голосов
/ 30 января 2011
void main() {
    if("a" == "a")
      printf("Yes, equal");  
    else
      printf("No, not equal");
}

Почему вывод No, not equal?

Ответы [ 11 ]

0 голосов
/ 31 января 2011

В некоторых компиляторах есть опция 'слияния строк', которую можно использовать, чтобы все константы имели одинаковый адрес. Если вы используете это, "a" == "a" будет true.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...