int a=b=c=0; a++&&b++||c++;求 a,b,c 最好有 过程分析

inta=b=c=0;a++&&b++||c++;求a,b,c最好有过程分析谢谢... int a=b=c=0; a++&&b++||c++;求 a,b,c
最好有 过程分析谢谢
展开
 我来答
hatianxiao
2018-01-08 · TA获得超过2047个赞
知道大有可为答主
回答量:2295
采纳率:77%
帮助的人:1280万
展开全部
首先,根据逻辑符号优先级,公式改写成:(a++&&b++)||c++。
然后,用a在“++”之前的值作为(a++)这个表达式的结果返回,即0,被转换成逻辑假,这时a变成1了,但是a++表达式的结果是0。因此根据“&&”的短路径求值原则,(a++&&b++)中的表达式b++不会求值,即b仍然是0,表达式(a++&&b++)结果为逻辑假。
最后,根据“||”多路径求值原则,左边表达式逻辑假,故而对表达式c++求值,故而c的值变成1。
最终结果是:a=1,b=0,c=1.
庄政警
2018-01-08 · TA获得超过9916个赞
知道大有可为答主
回答量:1113
采纳率:94%
帮助的人:886万
展开全部
结果是
a=1,b=0,c=1
&&的优先级比||高,先做a++&&b++
a++返回a当前的值0, a++为假,那么a++&&b++就必然为假,于是b++就没必要执行,被忽略,然后求0||c++, 于是c++被执行
综上就是a++和c++被执行, b++被忽略
最终a=1,b=0,c=1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丁方robot
2018-01-08 · TA获得超过112个赞
知道小有建树答主
回答量:108
采纳率:0%
帮助的人:85.2万
展开全部
a = 1, b = 0, c = 1
语句中a,b,c都是后自加, 所以是先进行表达式的运算, 再进行后自加, a++ && b++这部分时, a=0, 所以会发生短路, 不会执行b++,整个a++&&b++都为假 然后会执行判断c++的值,
过程中只会对a和c进行后自加运算, 所以a和c为1, b=0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式