#用法

来源:互联网 发布:cf内部刷枪软件 编辑:程序博客网 时间:2024/06/02 15:24

摘自《C语言深度剖析》



#define SQR(x) printf("The square of x is %d.\n", ((x)*(x)));
如果这样使用宏:
SQR(8);
则输出为:
The square of x is 64.
注意到没有,引号中的字符 x 被当作普通文本来处理,而不是被当作一个可以被替换的语言
符号。
假如你确实希望在字符串中包含宏参数,那我们就可以使用“ #”,它可以把语言符号转
化为字符串。上面的例子改一改:
#define SQR(x) printf("The square of"#x" is %d.\n", ((x)*(x)));
再使用:
SQR(8);
则输出的是:
The square of 8 is 64.


附加:

##:这个运算符把两个语言符号组合成单个语言符号

#define XNAME(n) x ## n
如果这样使用宏:
XNAME(8)
则会被展开成这样:
x8




0 0
原创粉丝点击