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

admin2010-12-10  47

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

解析 考查带参数的宏替换。宏替换不像函数调用要进行参数值的计算、传递等,而只是简单按照原格式进行字符串的替换。
转载请注明原文地址:https://jikaoti.com/ti/iOB0FFFM
0

最新回复(0)