(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;
我本人很浪
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
ftfbhj
2018-04-15
是先算括号里面的啊
好帮手慕珊
2017-07-31
这个跟优先级无关,和++运算符自身有关。如果++运算符放到变量的后面,比如x++,那么会先参与计算,也就是用x的值加5,然后再进行自加运算。如果是++x,就会先进行自加运算,然后再加5。如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
Skye丶
2018-05-06
是先算括号里面的没错,但是“x++”的意思是先赋值再运算,意思是x+5再加1,如果是“++x”就是x+1再加5
ming_Hao
2018-05-06
其实这个是一个双目运算符,就两个操作数x和5(x++只是一个运算符),所以这里没有谁优先的,而x++的规则是先参与运算再自加,所以这里先算x+5,最后再算x++。这是我个人理解,不知道对不对。
qq_知心大哥哥_0
2018-05-03
它是算括号里面的,只不过它是运算后再自加如x=4;然后y=(x++)+5;运算后就是y=9,x=5;
慕慕0361627
2018-04-30
这个问题应该这样考虑:由于自增符号在x的后面所有它是先赋值,后加1的,即先把x的值与五相加,在自增一。
gsdad_white
2018-04-29
先算了括号里面的,懂吗?
只是此时算出来的是
x+5而已!
qq_Hai_3
2018-04-21
没错是先算括号里面的
零星星星
2018-04-19
先取x的值,然后再++
慕田峪8356149
2018-04-19
回头看 x++与++x的区别你就会明白了
幕布斯5514588
2018-04-08
这个就是++x 和x++的区别:前缀的++x执行的流程顺序是:先自增后,再进行表达式的运算;
后缀x++ 是先进行表达式的运算,赋值后,再执行自增;--x 与++x同理,x--和x++同理。
希望可以帮到你
Q_Jack_Q
2018-03-30
又括号和自加,只看自加的优先级
慕仰0558474
2018-03-28
先用x再++
L_ights
2018-03-27
先用了再加,一个运算完成了才算用。
昵称能不能为空
2018-03-20

我看视频的时候也愣了。
其实(x++)的括号只是方便分隔,不加括号也是可以运算的
相似问题