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

2024年11月21日 22:53
有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