【发布时间】:2015-09-06 09:13:54
【问题描述】:
int main()
{
int x=35;
printf("%d\n%d\n%d\n",x==35,x=50,x>35);
return 0;
}
在上面的 main 函数中,输出是 0 50 0。为什么即使 x 的值等于 35,比较运算符也会产生 0 的输出。
我对@987654324@ 产生的输出也有点困惑,因为编译时x 的值已更新为 50,而不是为什么它会产生 0 而不是 1 的输出。
【问题讨论】:
-
printf参数的求值顺序在标准中是未指定的。