11.下列程序的输出结果为( ) void main() { int x, y, z; x = y = 1; z = x++, y++, ++y; printf(“%d,

2024-12-01 19:08:26
推荐回答(4个)
回答1:

原因就是运算符优先级的问题,就像楼上说的:逗号运算符的级别最低,比等号还低
所以这个语句:z=x++,y++,++y;实际上等于:(z=x++),(y++),(++y);这样写的话相信楼主就知道为什么z=1了吧
楼主认为z应该是3的原因应该是把z=x++,y++,++y;当成z=(x++,y++,++y);了

回答2:

答案为c

z=x 与后面形成一个逗号表达式。即执行了z=x 后z为1,x为2,y 后y 变为2再执行 y变为3
故输出为2,3,1

回答3:

x

回答4:

c