问题
单项选择题
以下程序的输出结果是______。#define M(x,y,z)x*y+zmain(){ 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(aa=b,b+c,c+a)被字符串a+b*b+c+c+a代替。