C语言中 和 和 分别有什么用啊

老老老头子 3个月前 已收到1个回答 举报

骄横又霸道 3星

共回答了317个问题采纳率:99.5% 评论

c语言中,##表示把两个宏参数贴合在一起,而单个#的功能是将其后面的宏参数进行字符串化操作。即,

#include

#define f(a,b) a##b

#define g(a) #a

#define h(a) g(a)

int main()

{

printf("%s\n",h(f(1,2)));//输出12

printf("%s\n",g(f(1,2)));//输出f(1,2)

return 0;

}

##被称为连接符(直接贴合),用来将两个宏参数连接为一个宏参数。而单个#的功能是将其后面的宏参数进行字符串化操作,简单地说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号,使其成为字符串。

1小时前

31
可能相似的问题

猜你喜欢的问题

热门问题推荐

Copyright © 2024 微短问答 All rights reserved. 粤ICP备2021119249号 站务邮箱 service@wdace.com