首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >#定义f(g,g2) g##g2

#定义f(g,g2) g##g2
EN

Stack Overflow用户
提问于 2009-11-29 03:22:02
回答 5查看 4.8K关注 0票数 6
代码语言:javascript
复制
#define f(g,g2) g##g2
main()
{
int var12=100;
printf("%d",f(var,12));
}

上面的程序通过连接var和12在c中打印100。g##g2是如何工作的??

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-11-29 03:23:50

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

例如。

代码语言:javascript
复制
#define PASTE(a,b)  a##b

int i=PASTE(1,2);  /* int i=12; */
票数 8
EN

Stack Overflow用户

发布于 2009-11-29 03:24:14

##是用于连接前后内容的预处理器“命令”。

票数 0
EN

Stack Overflow用户

发布于 2009-11-29 03:31:26

因此,经过预处理后,它将如下所示:

代码语言:javascript
复制
main()
{
int var12=100;
printf("%d",var12);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1813491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档