Всегда ли выражения условия оцениваются как 0 или 1 в C?

Выражение условия, например, включающее && и || , всегда ли они оцениваются как 0 или 1? Или для истинного состояния возможны числа, отличные от 1? Я спрашиваю, потому что хочу назначить такую ​​переменную.

int a = cond1 && cond2;

Мне было интересно, если я должен сделать следующее вместо этого.

int a = (cond1 && cond2)? 1:0;
5
задан einpoklum - reinstate Monica 18 April 2016 в 22:00
поделиться