int x=10,y=20,z=30; printf("%d,%d,%d,%d\n",x=y=z,x=y==z,x==(y...
发布网友
发布时间:2023-09-26 09:25
我来回答
共2个回答
热心网友
时间:2024-05-16 17:10
结果 30,1,0,0
visual C++6.0 编译器; 从后面向前面运算
1、x==(y==z) 括弧里是逻辑表达式 此时x=10,y=20,z=30 y和z不相等,返回0 x不等于0 最后返回0;
2、x==(y=z) 括弧里是赋值y=z=30 x=10 逻辑表达式x==30 肯定不对 返回0 ,结果0;
3、x=y==z 先判断逻辑表达式y==z 因为已经在上一步赋值 所以返回1 ,再把1赋值给x,结果1;
4、x=y=z 先算y=z赋值 把z=30赋值给y 然后把y赋值给x。所以30
热心网友
时间:2024-05-16 17:11
30,1,0,0。