0

大家好,我需要一些帮助来了解这些复合赋值运算符的工作原理

int x=6;
x += x -= x * x;

x 结果是-60 有人可以解释为什么以及如何工作吗?

4

1 回答 1

-2

忽略带有序列点的 UB:

x += x -= x * x;

(x += (x -= (x * x)));

所以

x * x->36

x -= 36->x = -30

x += -30->x = -60

于 2016-02-05T00:54:18.080 回答