设有定义“int x=8,y,z;”,则执行“y=z=x++,x=y= =z;”后,变量x值是________

帮我详细点吧 万分感谢 我是新手
2025-03-04 07:45:03
推荐回答(3个)
回答1:

逗号表达式的运算过程为:从左往右逐个计算表达式
所以先计算y=z=x++;
y=z=x=8,x再自加,x=9
再计算x=y==z;
y=z=8,所以y==z为真,x=1

回答2:

1.

x = 8, z = x++;// x = 9 但 z = 8

y = z; // y = 8

x = y == z // y == z 为真,so x = true

所以 x = 1

回答3:

分解成单个语句的话,执行顺序是:
z=x;
//z=8
x++;
//x=9
y=z;
//y=8
x
=
(y==z);
//x=1
最后x=1