问题 单项选择题

下面程序的输出结果是_______。
#define P1(x)printf(x)
main()

char d[]="p";
P1(d) ;
P1("d");

A.pd

B.d"d"

C."p"d

D."p""d"

答案

参考答案:A

解析:[评析] 带参数的宏定义的一般形式为:#define宏名(参数表)字符串程序中的P1(d);经宏置换后为printf(d);,所以输出字符串p;程序中的P1("d");经宏置换后printf("d")。

单项选择题
单项选择题