C语言问题求教!!!!!!!!!!!!!!1

a=1;b=2;c=3;--a&&b++&&c--;++a||b--&&--c;按顺序执行完语句a,b,c的值还是为什么1,2,3答案说:--a&&b++&&c--;a减... a=1;b=2;c=3;
--a&&b++&&c--;
++a||b--&&--c;
按顺序执行完语句a,b,c的值还是为什么1,2,3

答案说:--a&&b++&&c--; a减1后变为0 后面的都不会去执行了,所以 b和c值不变

++a||b--&&--c; ++a后 a变为1 后面的也不会执行的

可是++的自增优先级比逻辑要高啊 为什么不会先执行自增自减
展开
 我来答
mdoom
2010-12-22 · TA获得超过2923个赞
知道大有可为答主
回答量:1370
采纳率:0%
帮助的人:691万
展开全部
--a&&b++&&c--;
虽然++的自增优先级比逻辑高,但由于&&运算是由左到由,当左边表达式不成立就不会再执行右边的语句,所以左边--a执行后a=0,表示左边条件不成立,所以&&右边的语句就不执行。
在这个过程中,即不违背自增、自减运算符优先级比逻辑运算符高,也没有违背&&逻辑与运算符的自左向右运行的规则
xy_xie1981
2010-12-22 · TA获得超过763个赞
知道小有建树答主
回答量:100
采纳率:0%
帮助的人:56.3万
展开全部
--a为假,后面是与,必然为假,所以不继续执行
++a为真,后面是或,必然为真,所以不继续
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
061010435
2010-12-22
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
因为逻辑运算处理时,与运算遇到0自动处理为0,不问后面内容,或运算遇到1 时同样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
o风之飘扬o
2010-12-22
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部
特别注意 && 当&& 前面不成立时,就不执行后面了; || 前面成立,就不执行后面了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式