int x=5; int y=2+(x+=x++,x+8,++x); printf("%d",y); 结果是多少,为什么?请大侠们解释清楚点,谢谢!

 我来答
百度网友28b4182
推荐于2018-03-14 · TA获得超过7224个赞
知道大有可为答主
回答量:4847
采纳率:100%
帮助的人:2236万
展开全部
int x=5;
int y=2+(x+=x++,x+8,++x); //这里括里面要取的值是最后一个逗号后面的值
//前面依次执行 x+=x++,这个是先用了x再x++ x+=x相当于 x=x+x =5+5=10 再x++ x=11,然后是x+8,x不变,最后是++x,x=12,所以y=12+2=14
printf("%d",y); //输出14
578540211
2012-02-20 · 超过16用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:42.4万
展开全部
结果为14
y的值为括号内最左边的式子的值加上2; 括号内的计算顺序是从右向左。
追问
能详细的说说括号里没一步x的值么?
追答
首先执行++x,执行完后,x=6所以第三个式子结果为6,
再计算第二个式子,x+8=14,第二个式子结果O14
再计算一个式子,分丙步:首先执行x=x+x,再执行X++,第一个式子结果为12。
所以y=12+2=14
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
嘿若
2012-02-20
知道答主
回答量:22
采纳率:0%
帮助的人:9.4万
展开全部
14.。。。。跑出来的~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式