问题
单项选择题
下列程序执行后的输出结果是( )
#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正确。