Что произойдет, если я сравню два символа таким образом:
if ('a' == 'b')
doSomething();
Мне действительно любопытно узнать, что делает язык (и компилятор), когда находит подобное сравнение. И, конечно, если это правильный способ что-то сделать, или если мне нужно использовать что-то вроде strcmp ()
.
ИЗМЕНИТЬ
Подожди подожди.
Поскольку кто-то не понял, что я на самом деле имею в виду, я решил объяснить по-другому.
char x, y;
cout << "Put a character: ";
cin >> x;
cout << "Put another character: ";
cin >> y;
if (x == y)
doSomething();
Конечно, в скобках if
вы можете заменить ==
любым другим оператором сравнения.
На самом деле я хочу знать: как этот символ рассматривается в C / C ++? Когда компилятор сравнивает два символа, как он узнает, что «a» отличается от «b»? Это относится к таблице ASCII?