问题 单项选择题

以下程序的运行结果是 #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

解析:[命题目的] 考查带参数的宏替换。[解题要点] 宏替换不像函数调用要进行参数值的计算、传递等,而只是简单按照原格式进行字符串的替换。[考点链接] 宏定义的命令格式。

填空题
单项选择题