问题
单项选择题
以下程序的输出结果是______。
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)=-12。