问题 单项选择题

下列程序执行后的输出结果是( )
#define MA(x) x*(x-1)
main()
int a=1,b=2;
printf("%d\n",MA(1+a+b));

A.5

B.6

C.7

D.8

答案

参考答案:D

解析: 本题中的宏调用MA(1+a+b)展开后的结果是1+a+b*(1+a+b-1)=1+1+2*(1+1+2-1)=2+2*3=8。所以输出的结果是8,选项D正确。

单项选择题
单项选择题