c语言中,a=-1,b=1;if((++a<0)&&!(b--<=0))

 我来答
岳树花阴俏
2019-09-02 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:30%
帮助的人:1144万
展开全部
++a是先算a=a+1再把a的值作为(++a)的值,如当a=-1时则(++a)=0;a=0.
b--则是先将b的值作为b--的值,在执行b=b-1,如当b=1时则(b--)=1,b=0;
&&是数学中并的关系,!则是对()里的否定,如果()里的表达式成立则,!()不立,!的运算级高所以先执行!(),在执行&&。
佟佳振梅贰冬
2020-04-05 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:26%
帮助的人:1119万
展开全部
1
if
里面有两个判断语句,
如果第一个为false,不管第二个为false或者为ture,结果都为false,所以如果第一个为false,就没有必要执行第二个了,程序就是这么做的。
2
在你的判断中++a结果0.很显然0<0
是false,所以此时你整个判断语句就为false。下面即使再有N个条件也不会去判断了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
硕振华衅琴
2019-06-20 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:24%
帮助的人:1184万
展开全部
首先根据运算符优先级和结合性。((!b))||((++a)&&(++c))
然后先算!b,此时(!b)=1,为true,于是不需要算||后的内容了。因为:true||任意表达式=true。
注意,运算符优先级不代表计算优先级。
如果你把b=1
结果就是212
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式