请详细回答:c++中,0&&!2+5||1&&!(2+!0)的运算结果为什么=0

 我来答
White_MouseYBZ
2012-01-16 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6639万
展开全部
由于&&优先级要比||高一些,而!又比&&的优先级高,但+的优先级要比&&和||都高,所以表达式0&&!2+5||1&&!(2+!0)可以以||为界分为前后两段:(0 && (!2+5)) || (1 && !(2+!0))。现在看执行情况。前面括号里0 && 任何值都为0(假),所以第一个括号里总值为0;而其后是||,所以还要判断第二个括号里的结果。第二个括号里1 && !(2+!0)的值因前面是1,所以总值由!(2+!0)决定,而!(2+!0)=!(2+1)=0(假),所以第二个括号中的总值为1 && 0=0。那么总表达式:(0 && (!2+5)) || (1 && !(2+!0))的结果就是0 || 0 = 0。完毕,供参考……
无线你谓岁开725
2012-01-16 · TA获得超过664个赞
知道小有建树答主
回答量:565
采纳率:0%
帮助的人:390万
展开全部
0(零)为逻辑:假(非真FALSE),所以0&&!2+5结果为:假。

1&&!(2+!0):1为真,后面2+只要不是负数都大于0,所以括号里的是真,但条件是括号内非真的情况下为真。所以这个表达式的结果也是0.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式