c语言问题: {int x,y,z; x=y=1; z=x++;y=z++,x=y++; printf("%d%d%d尀n",x,y,z);此题看不懂呀!求“详”解

2025-03-22 14:10:15
推荐回答(5个)
回答1:

x=y=1; 使得变量x和y的内容都为1
z=x++; 表达式的计算结果使z的内容为x的初始值,即z的内容为1, 同时x的内容变为2
y=z++; 表达式的计算结果使y的内容为z的初始值,即y的内容为1,同时z的内容变为2
x=y++;表达式的计算结果使x的内容为y的初始值,即x的内容为1,同时y的内容变为2
楼上的答案是对的,如果你给结果是输出结果,那你的四个选项都不对啊

回答2:

你看下x++的说明,++在前面是先+1,再进行=运算,++后面是先进行=运算然后再+1
比如z=x++,运算顺序是z=x; x= x+1;

回答3:

z=x++,先x后++,此时z=1,x变为2,y++,此时y=2,++y,此时y=3。最后输出x=2,y=3,z=1

回答4:

最后x是1, 因为最后被赋值了
y和z都是2

回答5:

1,2,2