C语言中“#“和“##“的区别及用法

Posted 沉默的小宇宙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中“#“和“##“的区别及用法相关的知识,希望对你有一定的参考价值。

#:把宏参数变为一个字符串

##:把两个宏参数连接在一起

举例:

#include <stdio>

#define __STRING(s)     #s
#define __LINK(a,b)  int(a##b)

int main()

   printf(__STRING(1234sfasdf));             // 输出字符串"1234sfasdf"
   printf("%d\\n", __LINK(2,3));              // 输出:23
   return 0;

注意事项:宏最好不要作为参数传递给宏。

以上是关于C语言中“#“和“##“的区别及用法的主要内容,如果未能解决你的问题,请参考以下文章

C语言中“#“和“##“的区别及用法

c语言中gets ,getschar 和fgets 的用法及三者之间的差别

举例说明c语言中的中断语句break,continue,return的区别及相同之处

typedef和#define的用法与区别

typedef 与define 的区别

C语言union的用法