问题
单项选择题
以下程序的运行结果是 #define MAX(A,B) (A)>(B)(A):(B) #define PRINT(Y) printf("Y=%d\t",Y) main() { int a=1,b=2,c=3,d=4,t; t=MAX(a+b,c+d); PRINT(t);}
A.Y=3
B.存在语法错误
C.Y=7
D.Y=0
答案
参考答案:C
解析:[命题目的] 考查带参数的宏替换。[解题要点] 宏替换不像函数调用要进行参数值的计算、传递等,而只是简单按照原格式进行字符串的替换。[考点链接] 宏定义的命令格式。