在线时间134 小时
UID1721340
ST金币0
蝴蝶豆4
注册时间2015-8-6
金牌会员
- 最后登录
- 2019-12-27
|
a0a.1 32b0c
符号#和##的作用
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
|
<
|