This question already has answers here:
post increment vs pre increment - Javascript Optimization

(8个答案)


4年前关闭。




我陷入最后的表情,

int z = x-- + 2*x的计算步骤不应该是:int z = (9) + 2(9)= 27

但是,当我尝试运行它时,对int z的赋值为25,为什么?

下面是表达式:

int x = 10;

int y = --x + x;

int z = x-- + 2*x;


结果是:

[1] x = 10

[2] x = 9; y = 18

[3] x = 8; z = 25

最佳答案

开始时

int x = 10;


当你跑步时

int y = --x + x;


x递减了-1,然后x变为9,所以9+9 = 18

在这一行

int z = x-- + 2*x;


首先x是9,然后递减-1,然后x变成8,所以9+8*2 = 25

N:B


pre increment / decrements首先像++x/--x那样执行;
发表increment / decrements最后执行x++/x--

10-04 11:48
查看更多