码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2014-08-14 23:40:26      阅读:1101      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   div   log   应用   ef   sp   

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

#define STR(x)    #x
#define MAX    100

STR(MAX) 会被扩展成"MAX"

这样就有一个缺陷,如果入参为宏,并不能打印出宏的值(比如上一个例子,只打印出了MAX,并没有打印出MAX的值)

可以将宏扩展下

 

#define _STR(x)    #x
#define STR(x)    _STR(x)
#define MAX    100

 

STR(MAX)会按照以下顺序替换

STR(100)

_STR(100)

"100"

 

 

 

最后输出100

=================

可以应用到枚举和宏的输出上

 

C语言宏应用-------#define STR(X) #X,布布扣,bubuko.com

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

标签:style   blog   color   div   log   应用   ef   sp   

原文地址:http://www.cnblogs.com/Flying-Cloud/p/3913565.html

(1)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!