C------#和##
C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),
简单说就是在对它所引用的宏变量 通过替换后在其左右各加上一个双引号。
而##被称为连接符(concatenator),用来将两个Token连接为一个Token。
#include "stdio.h"
#define f(a,b) a##b
#define b(a) #a
void main()
{
int a=0;
int a1=1;
int a2=2;
int a3=3;
printf("%s=%d",b(a1),f(a,1));
return;
}
输出:a1=1