#define S(#X) //自动给参数X转换为"X",转换为字符串
这里的语言符号不一定是宏的变量
#include<stdlib.h>
#define S(X) system(#X)
void main()
{
S(calc);
}
C语言中 ”##“,被称为连接符
它是一种预处理运算符,用来把两个语言符号(Token)组合成单个语言符号
这里的语言符号不一定是宏的变量。并且双#号不能作为第一个或最后一个元素存在
#include<stdio.h>
#include<stdlib.h>
#define P(x) printf("%s=%d",#x,x)
#define I(x) I##x
void main()
{
int I(1)=11,I(2)=22,I(3)=33;
I2=234;
P(I(1));
P(I(2));
}