C语言中 符号#和##的作用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

符号#和##的作用

1. 仅用于预处理宏扩展,只能在宏定义中使用;

2. #用于将参数转换为字符串;

3 ##用于将两个宏参数连接在一起;

4. 转换顺序:在展开当前宏参数时,若形参中无#和##时,展开宏参数再展开宏;若有在不进行宏参数展开;

#define CONNECT(a,b) a##b

#define STR(a) #a

#define TEST(a) STR(a)

则:

printf("STR(CONNECT(con,2))=%s\n", STR(CONNECT(con,2)));

printf("TEST(CONNECT(con,2))=%s\n", TEST(CONNECT(con,2)));

输出是:

STR(CONNECT(con,2))=CONNECT(con, 2)

TEST(CONNECT(con,2))=con2

相关文档
最新文档