#include<stdio.h> main() { int a=5,b=6,c=1,x=2,y=3,z=4; c=(a=c>x)&&(b=y>z); printf("%d",b); }

为什么运行结果是6?
2024-11-20 21:40:34
推荐回答(1个)
回答(1):

&&运算符是先计算左边表达式的值,如果左边表达式的值为0的话,就不执行右边表达式的值了。
而你左边表达式c=(a=c>x)的值已经为0了,所有程序根本就没有执行右边表达式的值,所以b的值没有发生变化。