“x = x++”之后的x是什么?

2022-08-31 05:08:15

当执行时会发生什么(在窗帘后面)?

int x = 7;
x = x++;

也就是说,当变量在一个语句中递增并分配给自身时?我编译并执行了这个。 即使在整个语句之后仍然是7。在我的书中,它说这是递增的!xx


答案 1
x = x++;

等效于

int tmp = x;
x++;
x = tmp;

答案 2

x确实会递增。但是你正在将旧的价值重新分配给它自己。x


x = x++;
  1. x++递增并返回其旧值。x
  2. x =将旧值赋回其自身。

因此,最终,将赋值回其初始值。x