问题 单项选择题

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

A.-6
B.12
C.0
D.-12

答案

参考答案:D

解析: 本题可以写成:表达式a+a-=a*a中*的优先级最高,其次是-=,+的优先级最低,因此先求a*a,所以原表达式可写成a+a-=9,再算a-=9,原表达式可写为a=a-9=-6,最后算a+a,因为此时a=-6,所以a+a=-6+(-6)=-12,故选择D选项。

单项选择题
填空题