问题 单项选择题

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

判断题
多项选择题