一个问题,宏定义的正则表达式怎么写的?
宏定义的正则表达式怎么定义的,网上看是标识符
但此标识符决非C语言中定义的标识符正则表达式
C语言中是这样的
D [0-9]
L [a-zA-Z_]
{L}({L}|{D})*
但宏的话可以出现其他符号
比如说
#define M_ERROR 0
#define PRINT(...) printf(__VA_ARGS__)
中的M_ERROR和PRINT(...) 就出现了_ ( ) ...等符号。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
..........晕,这个关C语言什么事情
给了自己一个臭蛋,更晕.............
是C语言里的预处理啊
宏只是替换
是我搞错了
D [0-9]
L [a-zA-Z_]
{L}({L}|{D})*
没看到 [a-zA-Z_]中的下划线,不好意思啊