假设已有整型变量a,其值为3,试计算表达式: a+=a-=a*a的值。 main()
{ int a=3;
printf("%d\n",a+=a-=a*a); }
a+=a-=a*a是一个连续赋值运算,计算顺序是自右至左
a+=a-=a*a;------------相当于:1.a-=a*a; 2.a+=a;
即相当于:1.a=a-a*a; 2.a=a+a;
1.a=a-a*a=3-3*3 = -6;
2.a=a+a=(-6)+(-6) = -12;
先计算a=a-a*a,此时,a值变为-6,再计算a=a+a,所以a的值为-6+-6=-12