问题 单项选择题

以下程序的输出结果是______。 main() {int a=3; printf("%d\n",(a+=a-=a*A) ); }

A.-6

B.1

C.2

D.-12

答案

参考答案:D

解析:[评析] 赋值运算符的结合方向是自右至左,所以表达式a+=a-=a*a先运算最右边的a*a得9,再运算a=a-9,即a=3-9,所以此时a的值由3变成了-6,最后运算a=a+(-6),即a=(-6)+(-6)=-12。

填空题
判断题