a+=a-=a=a*a是什么意思,求c语言大神解释一下

2024-11-09 11:50:44
推荐回答(5个)
回答1:

实际上是赋值复合运算。
a是初始赋值,但是也是变量
从右往左做赋值运算
a(被赋值)=a*a(初始值)
a(再次被赋值)=a(初始值)-a(上一赋值)
a(最后被赋值)=a(初始值)+a(上一赋值)

回答2:

复合运算符吧,

a+=a是a=a+a的简化;同理a-=a等于是a=a-a;
原式运算顺序为
a=a*a;
a=a-a;
a=a+a;
结果为0?

回答3:

这仅仅是运算符的优先级问题,这题没有必须去讨论,当然,答案还是可以告诉你的,运算从右到左,答案为0。
没有人会这样写代码的。

回答4:

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=0;

回答5:

从右至左,
a=a*a
a=a-a(此a是上一行结果)
a=a+a(此a是上一行结果)