#include main() { int a=5,b=6,c=1,x=2,y=3,z=4; c=(a=c>x)&&(b

#include 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?
zzykeep 1年前 已收到1个回答 举报

为爱狂野 幼苗

共回答了17个问题采纳率:100% 举报

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

1年前

10
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.052 s. - webmaster@yulucn.com