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

m,n的值为何分别是1,0。而不是0,0... m,n的值为何分别是1,0。而不是0,0 展开
 我来答
昔魄守向露
2019-05-15 · TA获得超过3717个赞
知道大有可为答主
回答量:3225
采纳率:31%
帮助的人:471万
展开全部
浅见:
“==”为比较运算
因为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。
如果有错,还请高手纠正。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式