1. 前言
使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起.
2. 一般用法

3. 注意事项

3.1 举例

两句print会被展开为:

分析:
由于AGE是宏,且作为宏toString和conStr的参数,并且宏conStr和toString中均含有#或者##符号,所以A不能被解引用。导致不符合预期的情况出现。
3.2 解决方案


结果:

责任编辑:xj
原文标题:C语言中"#"和"##"的用法
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
C语言
+关注
关注
183文章
7646浏览量
146208 -
编程
+关注
关注
90文章
3724浏览量
97459
原文标题:C语言中"#"和"##"的用法
文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
热点推荐
c语言中的代码优化
放在寄存器中,但最终该变量可能由于条件不知足并未成为寄存器变量,而是被放在了存储器中,但编译器中并不报错(在C++语言中有另外一个\"建议\"型关键字:inline)。
下面
发表于 01-12 09:45
C语言与C++的区别及联系
创建源文件时什么都不给,默认是.cpp。
3、返回值
C语言中,如果一个函数没有指定返回值类型,默认返回int类型;C++中,如果一个函数没有返回值则必须指定为void。
4、参数列表
在
发表于 12-24 07:23
C语言中一些令人震惊的结构介绍
C语言同意一些令人震惊的结构,下面的结构是合法的吗,如果是它做些什么?
int a = 5, b = 7, c;
c = a+++b;
考察点:
这个问题将作为这个测验的一
发表于 12-23 08:15
Typedef在C语言中的应用
Typedef 在C语言中频繁用以声明一个已经存在的数据类型的同义字。也可以用预处理器做类似的事。例如,思考一下下面的例子:
#define dPS struct s *
typedef
发表于 12-22 13:53
C语言的分支结构介绍
1.简单if语句
C语言中的分支结构语句中的if条件语句。
简单if语句的基本结构如下:
代码语言:javascript
if(表达式)
{
执行代码块;
}
其语义是:如果表达式的值为真,则执行其后的语句,否则不执
发表于 11-25 07:48
C语言的常量介绍
、-13;
实型常量:13.33、-24.4;
字符常量:‘a’、‘M’
字符串常量:”I love china!”
在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。符号常量在使用之前必须先
发表于 11-24 07:12
C语言的printf基本用法介绍
, c=%c, money=%fn\", 100, \'@\', money);
return 0;
}
输出结果与上面相同。
在以后的编程中,我们会经常使用 printf,说它是C语
发表于 11-12 07:04
C语言中的#和##的用法
评论