C++ 菜鸟问题

intx=5,n=5;x+=n+++x;printf("x=%d\nn=%d\n",x,n);结果:x=15n=6请高人帮我解释一下怎么计算的。... int x=5,n=5;
x+=n+++x;
printf("x=%d\nn=%d\n",x,n);

结果:x=15 n=6

请高人帮我解释一下怎么计算的。
展开
 我来答
lymim7u01
2012-12-15 · TA获得超过2049个赞
知道答主
回答量:230
采纳率:0%
帮助的人:183万
展开全部
x += ( (n++) + x) 其中+=是赋值加运算,也就是
x = x + ( (n++) + x ) 其中n++是后自加运算,也就是进行了下一步运算之后再自加,也就是
x = x + ( n + x); n = n + 1; 第一个算式运算玩之后,x的值是15,第二个算式后,n的值是6
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
欢乐多Ek
2012-12-15 · TA获得超过478个赞
知道小有建树答主
回答量:477
采纳率:0%
帮助的人:426万
展开全部
x+=n+++x;
x=x+(n++)+x=5+5+5;
n=6

后缀++是先返回原数值再++ ,
所以n++是返回5
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
足球之光
2012-12-15 · TA获得超过410个赞
知道小有建树答主
回答量:335
采纳率:0%
帮助的人:183万
展开全部
这句x+=n+++x;
相当于x=x+((n++)+x);n用完变6,x等于5+((5)+5)=15
像你那样写,别说我们读者吃力,编译器都怕会乱掉。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1500577688
2012-12-15 · TA获得超过280个赞
知道小有建树答主
回答量:285
采纳率:0%
帮助的人:185万
展开全部
x +=n+++x;
x += (n++) + x
所以n = 6;
但是在执行这一语句时,n仍然是5, 执行完了才为6; 即 x = 15, n = 6
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式