问题: 在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。
如果有错,还请高手纠正。
版权及免责声明
1、欢迎转载本网原创文章,转载敬请注明出处:侨谊留学(www.goesnet.org);
2、本网转载媒体稿件旨在传播更多有益信息,并不代表同意该观点,本网不承担稿件侵权行为的连带责任;
3、在本网博客/论坛发表言论者,文责自负。