#define f(g,g2)g ## g2

Shi*_*arg 5 c

#define f(g,g2) g##g2
main()
{
int var12=100;
printf("%d",f(var,12));
}
Run Code Online (Sandbox Code Playgroud)

上面的程序通过连接var和12来打印100 in c.g ## g2如何工作?

jld*_*ont 8

##只是将令牌粘贴在一起.它是一个预处理器指令.

例如

#define PASTE(a,b)  a##b

int i=PASTE(1,2);  /* int i=12; */
Run Code Online (Sandbox Code Playgroud)