2

我看到了以下代码:a += b += c- 请问,有人知道这是什么意思吗?

a = a + b
b = b + c

或者:

b = b + c
a = a + b
4

3 回答 3

6

它取决于+=运算符的关联性。通常是从右到左,所以是第二个答案:a+=bb+=c.

于 2012-10-24T21:16:57.857 回答
2

它只能被评估为:

a += (b += c)

如果将其评估为:

(a += b) += c

然后它将评估a += b为数值,然后尝试更改数值,而不是变量,这是不可能的。

于 2012-10-24T21:22:00.410 回答
0

在大多数高级语言中,像这样的表达式是从左到右计算的,因为+=它是从右到左关联的。在这种情况下,将 的值与c的值相加b,然后将 的值b(由 相加后c)与 相加a

这相当于你的第二个块。

于 2012-10-24T21:17:56.677 回答