C语言中的逻辑运算符||和赋值语句
void main() { int a = 1, b = 2, m = 0, n = 0, k; k = (n=b>a)||(m=a<b); printf('k = %d,m = %d\n',k,m); }
为什么m等于0?
因为在逻辑运算符||中,如果第一个表达式为真,那么第二个表达式就不会再被执行。在这里,n=b>a的结果为真,因此m=a<b这个赋值语句并没有被执行,m的值仍然是0。
原文地址: https://www.cveoy.top/t/topic/m3Js 著作权归作者所有。请勿转载和采集!