int a=5,b=6,c=1,x=2,y=3,z=4; c=(a=c>x)&&(b=y>z);,运行后abc的值

2024-11-29 01:38:28
推荐回答(2个)
回答(1):

按照运算符优先级别 由高到低 分别为: > && =
所以
c=(a=c>x)&&(b=y>z);
=>
c=(a=0)&&(b=0);
=>
由于编译器优化算法。 &&前面的条件句=0,那么结果必然为0,后面一个条件句就不执行了。
所以 c=0 a=0 b=6

回答(2):

分别求x,y,z,c 的值
x =5>3
y =3==6
z =3!=6
c =5<3>2