使用 # ,可以把一个宏参数变成对应的字符串
#include<stdio.h>
#define PRINT(X) printf("the "#X" value is %d\n",X);
int main()
{
int a = 2;
int b = 3;
PRINT(a);
PRINT(b);
return 0;
}
##可以把位于它两边的符号合成一个符号。 它允许宏定义从分离的文本片段创建标识符
#include<stdio.h>
#define A(X,Y) X##Y
int main()
{
int tmp123 = 123;
printf("%d\n", A(tmp, 123));
return 0;
}