谁能解释一下下面代码的输出
int a=10;
a = a -= a+= a -= a += a;
output : 10
我不明白它是如何给出 10 的?
最佳答案
a += a
表示 a = a + a
。
同样,a -= a
表示 a = a - a
。
我不确定哪种方式适合开始,但是如果我使用上面的方法从右侧转换给定的代码,
a += a > a = a + a;
a -= a += a > a = a - (a + a);
a+= a -= a += a > a = a + (a - (a + a ));
a -= a+= a -= a += a > a = a - (a + (a - (a + a)));
a = a -= a+= a -= a += a > a = a - a - a + a + a;
其中 -a -a + a + a
相互抵消,得到 a = a
,即 10
。
关于java - 赋值运算符链理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50673012/