C语言 逻辑判断

若a=1,b=4,c=3,则表达式!(a<b)&&!c||1的值为我的做法是先判断a<b,成立得1,即!1&&!c||1然后!1=0,即0&&!c||10遇到&&,整个式... 若a=1,b=4,c=3,则表达式 !(a<b)&&!c||1 的值为

我的做法是
先判断a<b,成立得1,即
!1&&!c||1
然后!1=0,即
0&&!c||1
0遇到&&,整个式子得0

但是答案是1,我哪个地方弄错了?
展开
 我来答
寒寒家
2015-01-23 · TA获得超过2919个赞
知道大有可为答主
回答量:1482
采纳率:100%
帮助的人:1958万
展开全部
并不是0遇到&&整个式子就为0,而是&&的表达式为0. &&外层的表达式还是要计算的。

另外注意这几点就行了:
1. !和<的运算优先级都大于&&,而且&&大于||
2. &&先算左边,如果左边是0,那右边属于&&的部分就就不执行了。
所以根据运算的优先级给这个表达式加括号:
(!(a<b)&&!c) || 1
源稚竹
2015-01-23 · 超过13用户采纳过TA的回答
知道答主
回答量:19
采纳率:0%
帮助的人:15.9万
展开全部
!(a<b)的值是0;!(a<b)&&!c的值是0;!(a<b)&&!c||1的值为1 。 &&的优先级比||高,&&是11级,||是 12级
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
牛牛牛不牛0720
2015-01-23 · TA获得超过342个赞
知道小有建树答主
回答量:367
采纳率:0%
帮助的人:345万
展开全部
后面还有一个 || (或呢),||的优先级低,最后算
任何数|| 1都得1的哦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式