#:会把参数转换为字符串#define STR(x) #x#define MAX numSTR(MAX) 会被扩展成MAX这样就有一个缺陷,如果入参为宏,并不能打印出宏的值(比如上一个例子,只打印出了MAX,并没有打印出MAX的值)可以将宏...

#:会把参数转换为字符串
#define STR(x) #x #define MAX num
STR(MAX) 会被扩展成"MAX"
这样就有一个缺陷,如果入参为宏,并不能打印出宏的值(比如上一个例子,只打印出了MAX,并没有打印出MAX的值)
可以将宏扩展下
#define STRINGIFY(x) #x #define STR(x) STRINGIFY(x) #define MAX num
STR(MAX)会按照以下顺序替换
STR(num)
_STR(num)
"num"
最后输出num
织梦狗教程
本文标题为:C语言宏应用-------#define STR(X) #X


基础教程推荐
猜你喜欢
- [C语言]二叉搜索树 2023-09-07
- C++实战之二进制数据处理与封装 2023-05-29
- C语言编程C++旋转字符操作串示例详解 2022-11-20
- 带你深度走入C语言取整以及4种函数 2022-09-17
- 全面了解C语言 static 关键字 2023-03-26
- C语言实现宾馆管理系统课程设计 2023-03-13
- [c语言-函数]不定量参数 2023-09-08
- C++实现ETW进行进程变动监控详解 2023-05-15
- C语言 详解字符串基础 2023-03-27
- centos 7 vscode cmake 编译c++工程 2023-09-17