(x++)+5 为什么不是先算括号里面的?

(x++)+5 为什么不是先算括号里面的?

有咩有优先级问题?谢谢~

正在回答 回答被采纳积分+1

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

17回答
Witttttt 2018-05-09 15:50:36

先算(x++)这个没问题,但赋值是在这一行代码执行完后才做的。所以此时括号内还是x原本的值(即x虽然加了1,但没赋值给x)。

用代码说明(x++)+5可以看成是:

int 临时的x = x+1;

int 结果 = x+5;

x = 临时的x;

Skye丶 2018-05-06 20:41:23

是先算括号里面的没错,但是“x++”的意思是先赋值再运算,意思是x+5再加1,如果是“++x”就是x+1再加5

ming_Hao 2018-05-06 04:37:57

其实这个是一个双目运算符,就两个操作数x和5(x++只是一个运算符),所以这里没有谁优先的,而x++的规则是先参与运算再自加,所以这里先算x+5,最后再算x++。这是我个人理解,不知道对不对。

qq_知心大哥哥_0 2018-05-03 22:28:12

它是算括号里面的,只不过它是运算后再自加如x=4;然后y=(x++)+5;运算后就是y=9,x=5;

慕慕0361627 2018-04-30 00:48:21

这个问题应该这样考虑:由于自增符号在x的后面所有它是先赋值,后加1的,即先把x的值与五相加,在自增一。

gsdad_white 2018-04-29 23:24:22

先算了括号里面的,懂吗?

只是此时算出来的是

x+5而已!

qq_Hai_3 2018-04-21 15:24:45

没错是先算括号里面的

  • x++先用后加
    2018-04-21 15:25:14
零星星星 2018-04-19 23:40:09

先取x的值,然后再++

慕田峪8356149 2018-04-19 09:40:34

回头看 x++与++x的区别你就会明白了

ftfbhj 2018-04-15 13:50:26

是先算括号里面的啊

幕布斯5514588 2018-04-08 14:24:40

这个就是++x 和x++的区别:前缀的++x执行的流程顺序是:先自增后,再进行表达式的运算;

后缀x++ 是先进行表达式的运算,赋值后,再执行自增;--x 与++x同理,x--和x++同理。

希望可以帮到你

Q_Jack_Q 2018-03-30 17:48:49

又括号和自加,只看自加的优先级

慕仰0558474 2018-03-28 17:50:32

先用x再++

L_ights 2018-03-27 17:25:27

先用了再加,一个运算完成了才算用。

昵称能不能为空 2018-03-20 21:43:18

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

我看视频的时候也愣了。

其实(x++)的括号只是方便分隔,不加括号也是可以运算的

我本人很浪 2017-08-09 23:00:21

举个例子:    int x = 5;     int result = (x++)+5;    输出的结果会为10;    如果是int result = (++x)+5;     输出的结果会为11;

你只要记住++在变量名前面那就是先自增1再参与运算,也就是说int result = (++x)+5;    其实就是(6)+5

如果++在变量名后面,那就先参与运算,然后再自增1,也就是说int result = (x++)+5; 其实就是(5)+5    

好帮手慕珊 2017-07-31 11:32:17

这个跟优先级无关,和++运算符自身有关。如果++运算符放到变量的后面,比如x++,那么会先参与计算,也就是用x的值加5,然后再进行自加运算。如果是++x,就会先进行自加运算,然后再加5。如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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