问题 单项选择题

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

解析: 考查带参数的宏替换。宏替换不像函数调用要进行参数值的计算、传递等,而只是简单按照原格式进行字符串的替换。

单项选择题
单项选择题