main() { int X=1,y=2,z=3; x+=y+=z; printf("%d",(x<y?X++;y++)) } 输出结果是?

2024-11-28 22:11:35
推荐回答(2个)
回答1:

嗯,可以先看看要求输出什么
printf("%d",(x这是一个条件表达式,判断xx=1,y=2,z=3
x+=y+=z 是自右运算的,y=y+z=5 此时y=5
x+=y x=x+y=1+5=6
然后判断xy 所以条件是假值,取y++
这里注意一下,要求输出的是y 不是y的值
所以最后结果是5 但如果要求输出y y的值就是6

回答2:

x+=y+=z 等价于 y=y+z; x=x+y; 故此后 z=3,y=5,x=y;
故 x