c语言。。int a=5,b=3,w=1,x=2,y=3,z=4; (a=w>x)&&(b=y>z);最后b的...
发布网友
发布时间:2023-12-25 21:27
我来回答
共2个回答
热心网友
时间:2024-08-23 11:52
主要看最后的一个表达式求值[(a=w>x)&&(b=y>z)]
这个表达式的值是多少呢?显然不是true就是false,因为这是个逻辑表达式
先看&&前面的表达式,求值是false,w>x是false,所以a=0这个表达式的值也是false,
那么现在就不需要看&&后面的值了,因为不管后面是什么0&&0=0,0&&1=0,
所以表的式[(a=w>x)&&(b=y>z)]的值已经求出来了,编译器不会sb到再去计算[(b=y>z)]的值,
因为编译器认为这样是没有意义的。。。。
所以b=y>z从来就没执行过。。。。。
所以b=3
热心网友
时间:2024-08-23 11:55
因为w=1>x=2这个条件不成立,所以整个逻辑语句就是不成立,程序不会再去执行&&后面的
b=y>z这个语句,所以判断后b的值不变还是3