我看到了以下代码:a += b += c
- 请问,有人知道这是什么意思吗?
a = a + b
b = b + c
或者:
b = b + c
a = a + b
它取决于+=
运算符的关联性。通常是从右到左,所以是第二个答案:a+=b
在b+=c
.
它只能被评估为:
a += (b += c)
如果将其评估为:
(a += b) += c
然后它将评估a += b
为数值,然后尝试更改数值,而不是变量,这是不可能的。
在大多数高级语言中,像这样的表达式是从左到右计算的,因为+=
它是从右到左关联的。在这种情况下,将 的值与c
的值相加b
,然后将 的值b
(由 相加后c
)与 相加a
。
这相当于你的第二个块。