以下程序的输出是什么?
#include
#define macro(n, a, i, m) m##a##i##n
#define MAIN macro(n, a, i, m)
int MAIN()
{
printf("GeeksQuiz");
return 0;
}
(A)编译器错误
(B)怪胎测验
(C)主要
(D)主要答案: (B)
说明:该程序具有一个预处理器,该预处理器将“ MAIN”替换为“ macro(n,a,i,m)”。 “ macro(n,a,i,m)”行再次被main代替。要注意的关键是令牌粘贴运算符##,它将参数连接到宏。
这个问题的测验
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。