int main()
{
int x=35;
printf("%d\n%d\n%d\n",x==35,x=50,x>35);
return 0;
}
В приведенной выше основной функции выход выходит быть 0 50 0. Почему это так, что оператор сравнения производит выходной сигнал 0, даже когда значение x
равно 35.Что делает оператор сравнения в C?
I Я также немного запутался в выходе, полученном x>35
, потому что когда это скомпилировано, значение x
было обновлено до 50, чем было сделано так, чтобы он выдавал результат 0 вместо 1.
Порядок оценки параметров 'printf' * не указан * в стандарте. – Maroun
Dup: http://stackoverflow.com/questions/949433/why-are-these-constructs-using-undef ined-behavior –