我有一个C程序如下:
#define f(g,g2) g##g2
main()
{
int var12=100;
printf("%d",f(var,12));
}
Run Code Online (Sandbox Code Playgroud)
当我只运行预处理器时,它将其扩展为
{
int var12=100;
printf("%d",var12);
}
Run Code Online (Sandbox Code Playgroud)
这就是输出为100的原因.
谁能告诉我预处理器如何扩展var##12 to var12?