C++中 int a=12;a+=a-=a*=a怎么计算

2024-11-21 22:53:43
推荐回答(4个)
回答1:

赋值语句从右到左依次计算

所以a+=a-=a*=a;

相当于:

a*=a;

a-=a;

a+=a;

所以相当于:

a=a*a==12*12==144;

a=a-a==144-144==0;

a=a+a==0+0==0;

 

最后a的值是0

 

回答2:

从右向左,a*=a是144,a-=a 就是144-144为0,最后a+=a 就是0了

我室友说的

回答3:

+=,-=,*=都是从右到左的运算符,那么根据这个加上括号就好办了

a+=(a-=(a*=a))结果为0


a*=a结果a=144

a-=a结果肯定是0了

a+=a一样是0


让你看下语句编译成汇编你就更好理解了

回答4:

int a=12;//a赋值12
a+=a-=a*=a;//a*=a;a值为12*12=144;a-=144为a为0
所以值为0