发布网友 发布时间:2022-04-19 22:50
共4个回答
热心网友 时间:2023-08-07 21:57
X=0 是因为“运算符”优先级的原因。
分析如下:
int x = 4,y = z = 2;
x = x == (y = z); //这一条语句实际等价于:x = ( x == (y = z) );
在这条语句中,“()” 优先级最高,“==” 优先级次之,“=”优先级最低。
所以计算机是这样执行的:
把z赋值给y,则y = 2;
2. 比较x和y的值是否相等,因为不等,所以执行x == y的结果是:0;
3. 最后把0赋值给x。
所以最后x = 0
热心网友 时间:2023-08-07 21:57
int x = 4 无需解释了;热心网友 时间:2023-08-07 21:57
∵x=4,z=2,∴x==(y=z)为“假”,值为0。∴x=x==(y=z)=0,毕。热心网友 时间:2023-08-07 21:58
根据运算符优先级可知原式等效于