C++表达式(m=a>b)&&(n=c>b)的运算

 我来答
亓华灿敏献
2020-01-15 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:29%
帮助的人:791万
展开全部
根据优先级顺序这个表达式等价于(m=(a>b))&&(n=(c>b));
a>b不成立,所以为false,即0,则m
=
0;
因为&&处理机制的原因,左边表达式为假,则整个表达式为假,就不对右边表达式进行计算了。
鄞灿嬴怡
2020-04-21 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.1万
采纳率:34%
帮助的人:605万
展开全部
&&
这个运算符有个特点,如果左侧表示值为假,右边的表达式就不执行了,左侧为真才继续执行右侧表达式
a>b结果为假,m=a>b=0(0表示为假),这时左侧表达式的值就是m的值,为0,表示假,右侧就不执行了,n就是1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陶山战霖
2020-03-14 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:35%
帮助的人:582万
展开全部
楼主多想了
&&除了有本身“和”的意思外,还有就是两边是同时进行或者同时不进行,
也就是(m=a>b)&&(n=c>d)与(n=c>d)&&(m=a>b)是一样的,
换个角度看,既然是逻辑运算,基本是0,1,要不然就加加减减,和幼稚园数学有什么区别
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
裔灵卉巢韫
2020-01-11 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:34%
帮助的人:670万
展开全部
&&
是需要左右两边都为真时,才是真。
x
&&
y
也就是需要x和y为真,x&&y为真,
当x为假时,编译器已经能判断出
x&&y为假了,不可能为真了,此时编译器就不再往下判断了,也就是说y代表的东西不再执行了。
所以
m=a>b
由于
a=b=1
所以a>b为假,用int表示也就是0,所以m=0
为假
所以
n=c>b不再执行,所以n的值不变,所以
n=1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式