C语言(x++)+(++x)+(x++)?

有下代码intx=3;inty=(x++)+(++x)+(x++); 计算结果如下1.执行前增量操作(x++)执行后x为4;2.然后取x的值计算表达式:y=4+... 有下代码int x=3;int y=(x++)+(++x)+(x++); 计算结果如下1.执行前增量操作(x++) 执行后x为4;2.然后取x的值计算表达式:y=4+4+4=12. (这里我有点不明白只加(x++)吗? 后面的(++x)和(x++) 不用加了吗?3.最后执行后增量操作:该表达式中含有两个后增量操作,则执行后x=6.(这里不明白为什么x=6.执行上述代码后X=6,y=12. (这里也不明白 ?)  展开
 我来答
袁世平1
2016-06-30 · TA获得超过536个赞
知道小有建树答主
回答量:459
采纳率:0%
帮助的人:396万
展开全部

x=4

+=在执行语句的过程中并不会赋值,所以在执行的过程中调用到的x所储存的值都是4.

x+=(x-=(x-(x--)))=

x+=(x-=(x-3))=

4+=(4-=1)=

4+3=7


唔,本地g++运行结果是7.

不知道怎么回事。

zhengxsy20111
2019-06-02
知道答主
回答量:1
采纳率:0%
帮助的人:741
展开全部
从左往右计算,先算x++,得出x=4,但因为x++是先算后加,所以这里(x++)为3,

下一步++x,先加后算,所以这里x=5,(++x)为5,
再下一步将(x++)和(++x)加在一起,为8,
最后一步x++,得出x=6,但同第一步,x++为5,所以最终答案为8+5=13
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友78fea0b
推荐于2018-03-14 · TA获得超过265个赞
知道答主
回答量:70
采纳率:0%
帮助的人:83.2万
展开全部
这个是讲的 先加加 与 后加加的应用

int x=3;int y=(x++)+(++x)+(x++);
计算结果如下
1.执行前增量操作执行第二个(++x) 执行后x为4;
2.执行运算符 + 也就是 y = 4 + 4 + 4
3.然后执行第一个(x++) x = 5
4.再执行第三个(x++) x = 6
先加加 是在运算符之前执行 累加 后加加是在运算结束后进行累加。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
iamtian
2012-07-14
知道答主
回答量:21
采纳率:0%
帮助的人:13万
展开全部
执行前增量操作执行第二个(++x) 执行后x为4
执行运算符 + 也就是 y = 4 + 4 + 4
然后执行第一个(x++) x = 5
再执行第三个(x++) x = 6
先加加 是在运算符之前执行 累加 后加加是在运算结束后进行累加。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
豆豆的人啊
2019-10-16 · 超过53用户采纳过TA的回答
知道小有建树答主
回答量:351
采纳率:66%
帮助的人:14.2万
展开全部
x加加代表先赋值后加1
加加x代表先加1后赋值
所以第一个括号()结果为4 x也为4
第二个扣号就是4加1为5 x为5
第三个阔号就是6
所以是15
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式