执行完表达式a+=a-=a*a后,a的值为?

如题所述

第1个回答  2022-11-01

执行完表达式a+=a-=a*a后,a的值为:-12。

表达式执行的过程:首先明白赋值运算符的结合性为自左向右,所以说先执行最右边的表达式,同时乘除运算符的优先级大于赋值运算符,所以说先执行a*a,因为a=3,所以说a*a=9,然后执行a-=(a*a)=a-=(9)等价于a=a-(a*a)=3-9=-6。

然后a=-6,然后执行a+=a等价于a=a+a=-6-6=-12。所以说表达式执行完后a的结果为-12。

扩展资料:

乘除运算符的优先级:

乘除运算符的优先级处于运算符优先级的第5级,主要的运算符有“ * ” 乘法运算符、“ / ”除法运算符、“ % ” 取余运算符。

结合性:自左向右,即为相同运算符从左到右依次运算。

赋值运算符的优先级:

赋值运算符的优先级处于运算符优先级的第16级包含的运算符有:=、 +=、 -=、 *=、 /=、 %=、 &=、 ^=、 |=、 <<=、 >>=赋值运算符。

结合性:自右向左的结合性,即为相同运算符从右到左依次运算。

参考资料来源:百度百科-C语言运算符

相似回答