Почему первый всегда оценивается как истина? Я ожидаю, что эти два утверждения будут вести себя одинаково.
for (int i =0;i<4;++i) (0 < i < 3) ? cout << "True " : cout << "False ";
Правда Правда Правда Правда
for (int i =0;i<4;++i) (0 < i && i < 3) ? cout << "True " : cout << "False ";
Неверно Верно Верно Ложно
(0 < i < 3)
-- Вскоре вы обнаружите, что C++ — это не алгебра. - person PaulMcKenzie   schedule 25.09.20180 < i
либо истинно, либо ложно), но различия перевешивают их. Возможно, наиболее ярким примером являетсяx = 3*y;
, которое является не уравнением, а присваиванием. - person 463035818_is_not_a_number   schedule 25.09.2018