📜  C |宏和预处理器|问题9

📅  最后修改于: 2021-05-25 19:23:44             🧑  作者: Mango

输出?

#include 
#define f(g,g2) g##g2 
int main() 
{ 
   int var12 = 100; 
   printf("%d", f(var,12)); 
   return 0; 
}

(A) 100
(B)编译器错误
(C) 0
(D) 1答案: (A)
说明:运算符##称为“令牌粘贴”或“合并”运算符。它将两个令牌合并为一个令牌。因此,在预处理之后,主要函数如下,并打印100。

int main() 
{ 
   int var12 = 100; 
   printf("%d", var12); 
   return 0; 
}
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。