首页 > 留学知识库

问题: 在C语言中设m,n,a,b,c,d均为0执行(m=a==b)||(n=c==d)后m,n的值和原因

m,n的值为何分别是1,0。而不是0,0

解答:

浅见:
“==”为比较运算 因为a,b都为0,此时比较的结果返回值为1.
m = a == b;既返回的值赋值给的了m,m的值就为1了。
“||”运行左右操作数的“或”运算,既判断 (m = a == b)、(n =c == d),两个操作的结果中是否有一,按照c的运算规则,如果“||”前一个运算的值为1,那么就不进行后一步的运算。那么n =c == d;就不会被执行,所以结果是m = 1,n = 0,不是两个数都为0。

如果有错,还请高手纠正。