这条语句就相当于顺序执行以下两条句:
a = a + a* a;
a = a - a;
其实分析到这儿,结果也就出来了:
a = a - a;
不论a取何值,a都等于零。
但是,咱们还是把a = 2;带入语句中看看:
1)a = a + a* a = 2+2*2 = 6;
2)a = a - a = 6 - 6 =0;
所以结果为零。
任何数减本身都等于0 本帖最后由 小鱼儿mxkk 于 2021-11-22 19:36 编辑
a-=a+=a*a;关于这一条语句,首先你要知道他是从右往左的,那么我们不妨先看看右边:a+=a*a,他的结果是什么呢?一定是a(请想一想,类似于a+=某某之类的语句,最后一定是将一个值赋给a对吧?),至于a的值是多少,我们其实不必关心,因为你应该已经发现了,再结合左边已经变成了a-=a(不要管a到底是多少!),结果不言而喻. a-=a+=a*aa=2a=2+2*2 a=6 a-=a a=6-6 a=0 不是-4是因为a已经变化过了 不是初始的2了也就是
a-=a+=a*a==a=(a+a*a)-(a+a*a)
a-=a+=a*a!=(不等于)a=2-(a+a*a)
页:
[1]