首页 > 编程语言 > 详细

C语言宏应用-------#define STR(X) #X

时间:2021-04-06 21:14:54      阅读:26      评论:0      收藏:0      [点我收藏+]

#:会把参数转换为字符串

#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

原文:https://www.cnblogs.com/PeopleLights/p/14623188.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!