int a=8; a+=a-=a*a; 咋算?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 06:17:12

int a=8; a+=a-=a*a; 咋算?
int a=8; a+=a-=a*a; 咋算?

int a=8; a+=a-=a*a; 咋算?
拆开来算,运算是从右到左读的
显示a*a,但是不赋值,结果64
然后a-=(第一步的结果)即a=a-(第一步的结果),a=8-64=56
最后a+=(第二步的结果)即a=a+(第二步的结果),因为第二步有进行复制,所以
a=(-56)+(-56)=-112

从最右边开始算起
就是 a = a*a;
a -= 64
a = 8 - 64 ;
a = -56;
a = a + a;
a = -112;
a的值随着等号才改变

楼上正解