自增自减的运算顺序

自增自减的运算顺序

在PPT是讲解++在值后,先进行赋值运算,再进行加法运算

怎么到了Eclipse中,int y=(x++)+5; 就先进行加法运算了呢?

有些迷糊了,请老师赐教!

http://img1.sycdn.imooc.com//climg/5e005f9c09ee138837680306.jpg

http://img1.sycdn.imooc.com//climg/5e005f9d09e8831d29061096.jpg


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,关于自增的运算中,(x++)+5-->因为++在变量的后面会先将x的值提出来,与5去进行运算,然后再去执行++的运算,这里可以这样理解一下: 

http://img1.sycdn.imooc.com//climg/5e018d5209a16d0405740339.jpg

int  y=x++  就会将x的值先赋值给y ,然后再进行++的运算,这里(x++)和x++是相等的哦,所以综上所述(x++)+5会先进行+5运算,然后执行自增运算!

所以在 int y=(x++)+5执行顺序如下所示:

         执行方式: y=x+5;            结果:  y=9;

                        x=x+1;                      x=5;

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~


好帮手慕小脸 2019-12-23 15:19:52

同学你好,在运算中++在后都是先运算后赋值,如下图所示:

http://img1.sycdn.imooc.com//climg/5e0062f10964658f05420259.jpg

所以在int y=(x++)+5中,先计算小括号的值,因为++在后,所以先运算后赋值,x的值就是4,4+5就得到y的值为9。

之所以同学输出的x 是5,是因为在执行完4+5 后,进行了++自增1操作,所以打印的时候得到的是x自增的结果。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 提问者 Michael_2020 #1
    谢谢老师答疑! 在 int y=(x++)+5,如果是先运算式后赋值,为什么不是: x++运算后,x的值为5,然后加+5,结果10赋值给y,y的值是10呢? Ps:后面输出的x的值是5,这个我理解。但对于整体的运算顺序还是很迷惑!
    2019-12-24 07:18:03
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师