宏定义展开下的#与##
【摘要】 #:定义为字符串##:连接符号宏定义中#与##符号相信大家见的并不多,主要是在内核代码里比较多见,可能大家用的也比较少,但这2种符号还是比较有用的,特别是##,详细的使用方法看下面的例程,相信大家一看就明白了 #符号的例程:#define ABC(x) #xint main(){printf( ABC(abc\n) );// ABC(abc\n)等价于:”abc\n”return 0;}输出...
#:定义为字符串
##:连接符号
宏定义中#与##符号相信大家见的并不多,主要是在内核代码里比较多见,可能大家用的也比较少,但这2种符号还是比较有用的,特别是##,详细的使用方法看下面的例程,相信大家一看就明白了
#符号的例程:
#define ABC(x) #x int main() { printf( ABC(abc\n) );// ABC(abc\n)等价于:”abc\n” return 0; }
输出结果:
abc
按任意键继续…
##符号的例程:
#define MyMoney (x) mymoney##x int main() { int mymoney1 = 10; int mymoney2 = 20; printf(“Money Left:\n” ,MyMoney (1) );//可以以人们更习惯的方式进行参数表达,还可以方便的使用for循环进行输出。 printf(“Money Left:\n” ,MyMoney (2) ); return 0; }
输出结果:
Money Left:10 Money Left:20 按任意键继续…
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)