c语言中&&与||的优先级

main(){inta,b,c,d;a=b=c=1;d=++a||++b&&++c;printf("%d%d%d%d",a,b,c,d);}上述程序的运算结果和过程是怎样... main()
{
int a,b,c,d;
a=b=c=1;
d=++a||++b&&++c;
printf("%d%d%d%d",a,b,c,d);
}
上述程序的运算结果和过程是怎样的?
请给出运算后abcd的值
展开
 我来答
562738607
2010-03-31 · TA获得超过1261个赞
知道小有建树答主
回答量:1015
采纳率:0%
帮助的人:897万
展开全部
&&和ll运算符都是同一优先级的,是自左向右结合运算,该程序的运算结果为1即为真,因为++all++b结果为1,再投行&&++c两边都为真所以整个逻辑表达式为1
a=2,b=1,c=1
也想幸福
2010-03-28 · TA获得超过214个赞
知道答主
回答量:142
采纳率:0%
帮助的人:24.9万
展开全部
1,1,1,true
1赋值给c,c赋给b,b赋给a。
然后,第二个表达式的话结果肯定是布尔值,而有题目观之,此表达式不为0,所以d为true
优先级
++(--)>&&>||
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
建芷若2C
2010-04-03 · 超过27用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:59.8万
展开全部
输出是2 1 1 1
(a++)||(b++)&&(c++)等同于(a++) || ((b++)&&(c++))
而对于 ||来说,先算左边表达式的值

参考资料: http://tieba.baidu.com/f?kz=737859614

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
史前捍卫
2010-03-28 · TA获得超过528个赞
知道小有建树答主
回答量:506
采纳率:0%
帮助的人:332万
展开全部
||和&&是同级别的逻辑运算,遇到这种情况一般是从右往左运算,结果应该是2221
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dxy000636
2010-03-30
知道答主
回答量:19
采纳率:0%
帮助的人:0
展开全部
同级别,从右往左
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式