单选题
以下程序的输出结果是______。 #define M(x,y,z) x*y+z main() { int a=1,b=2,c=3; printf("%d/n",M(a+b,b+c,c+a) ); }
A、
19
B、
17
C、
15
D、
12
【正确答案】
D
【答案解析】
[评析] C语言的宏定义包括不带参数的宏定义与带参数的宏定义。本题为带参数的宏定义,其形式为: #define 宏名(形参表)字符串 本题的M(a+b,b+c,c+a) 被字符串a+b*b+c+c+a代替。
提交答案
关闭