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

来源:2-8 自增自减运算符

只是渣渣

2017-07-31 10:32:39

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

写回答

17回答

Witttttt

2018-05-09

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

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

int 临时的x = x+1;

int 结果 = x+5;

x = 临时的x;

3

我本人很浪

2017-08-09

举个例子:    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    

3

ftfbhj

2018-04-15

是先算括号里面的啊

2

好帮手慕珊

2017-07-31

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

2

Skye丶

2018-05-06

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

0

ming_Hao

2018-05-06

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

0

qq_知心大哥哥_0

2018-05-03

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

0

慕慕0361627

2018-04-30

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

0

gsdad_white

2018-04-29

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

只是此时算出来的是

x+5而已!

0

qq_Hai_3

2018-04-21

没错是先算括号里面的

0
hq_Hai_3
h x++先用后加
h018-04-21
共1条回复

零星星星

2018-04-19

先取x的值,然后再++

0

慕田峪8356149

2018-04-19

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

0

幕布斯5514588

2018-04-08

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

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

希望可以帮到你

0

Q_Jack_Q

2018-03-30

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

0

慕仰0558474

2018-03-28

先用x再++

0

L_ights

2018-03-27

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

0

昵称能不能为空

2018-03-20

http://img.mukewang.com/climg/5ab10eed00014e5109100488.jpg

我看视频的时候也愣了。

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

0

0 学习 · 14452 问题

查看课程