#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?
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/16 17:42:30
![#include main() { int a=5,b=6,c=1,x=2,y=3,z=4; c=(a=c>x)&&(b=y>z); printf(](/uploads/image/z/1964438-62-8.jpg?t=%23include+main%28%29+%7B+int+a%3D5%2Cb%3D6%2Cc%3D1%2Cx%3D2%2Cy%3D3%2Cz%3D4%3B+c%3D%28a%3Dc%3Ex%29%26%26%28b%3Dy%3Ez%29%3B+printf%28%22%25d%22%2Cb%29%3B+%7D%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%90%E8%A1%8C%E7%BB%93%E6%9E%9C%E6%98%AF6%3F)
#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?
#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?
#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?
&&运算符是先计算左边表达式的值,如果左边表达式的值为0的话,就不执行右边表达式的值了.
而你左边表达式c=(a=c>x)的值已经为0了,所有程序根本就没有执行右边表达式的值,所以b的值没有发生变化.