若a为int类型,且其值为3,则执行完表达式a+= a-= a*a后,a的值是

若a为int类型,且其值为3,则执行完表达式a+= a-= a*a后,a的值是

#include
int main()
{
	int a=3; 
	a+=a-=a*a;
	printf("%d",a);
}

若a为int类型,且其值为3,则执行完表达式a+= a-= a*a后,a的值是_第1张图片首先,我们要知道,这种复合运算符是右结合的
在这里插入图片描述也就是说,从右向左计算,先计算 a*a=9
再计算 a-9=3-9=-6,主要,这个时候其实就把-6赋值给了a
,那么a+(-6)=-6+(-6)=-12
再把-12赋值给a,则a=-12。

你可能感兴趣的:(新手入门,c语言)