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