我看到了以下代码: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。
这相当于你的第二个块。