C语言中的#和##你还傻傻分不清楚吗

简介: 简单介绍两者的用途并以代码的形式举例

2000元阿里云代金券免费领取,2核4G云服务器仅664元/3年,新老用户都有优惠,立即抢购>>>


阿里云采购季(云主机223元/3年)活动入口:请点击进入>>>,


阿里云学生服务器(9.5元/月)购买入口:请点击进入>>>,

1、#
把宏参数变成一个字符串

2、##
连接两个宏参数

3、示例
#include

define STR(s) #s

define CONS(a,b) int(a##e##b)

int main()
{
printf(STR(vck)); // 输出字符串"vck"
printf("STR(123) = %s\r\n", STR(123)); // 输出字符串"123"
printf("%d\n", CONS(2,3)); // 2e3 输出:2000
return 0;
}

当宏参数是另一个宏的时候,需要注意的是凡宏定义里有用’#’或’##’的地方宏参数是不会再展开. 即, 只有当前宏生效, 参数里的宏!不!会!生!效 !!!!

相关文章
|
4天前
|
机器学习/深度学习 人工智能 C语言
【c语言基础题】— —第五版,可当作日常练习和期末复习,有奇效哟!
【c语言基础题】— —第五版,可当作日常练习和期末复习,有奇效哟!
43 1
|
4天前
|
存储 安全 Java
初学者对C语言的爱恨情仇之神秘的字符串
初学者对C语言的爱恨情仇之神秘的字符串
35 0
|
4天前
|
C语言
C语言之文字游戏
C语言之文字游戏
|
10月前
|
存储
用处巨广的操作符,快来学学叭(C语言版)
用处巨广的操作符,快来学学叭(C语言版)
42 1
|
4天前
|
存储 算法 Java
初学者对C语言中指针的爱恨情仇
初学者对C语言中指针的爱恨情仇
49 0
|
7月前
|
C语言
【初阶C语言】随意拿捏循环语句
【初阶C语言】随意拿捏循环语句 上节课我们学完了分支语句(if和switch语句),这节课请继续跟着本娥学习循环语句
53 0
|
11月前
|
存储 编译器 C语言
抽丝剥茧C语言(中阶)操作符+练习(上)
抽丝剥茧C语言(中阶)操作符+练习
|
11月前
|
Unix 编译器 Linux
抽丝剥茧C语言(中阶)操作符+练习(下)
抽丝剥茧C语言(中阶)操作符+练习
|
C语言
C语言九条语句通俗易懂总结:
c语言的九条语句是学系c的基本,想要学好这一门语言,就要掌握这9条语句!
C语言九条语句通俗易懂总结:
|
安全 编译器 C语言
【C语言】刨根问底 - 深剖const关键字
【C语言】刨根问底 - 深剖const关键字
69 0
【C语言】刨根问底 - 深剖const关键字
http://www.vxiaotou.com