#include
#include
#define STR(a) #a //把a替换成一个“a”形式的字符串。
#define PRINTF pri##ntf //link the two token together. //合并两个token。
#define MYPRINTF(a,b,c) printf(#a"-"#b"-"#c"\n")
/* #define CHAR(a) #@a //This is not the standard C,so it make gcc error. */
int main(void) {
int tmp = 0;
printf(STR(guoxu the nake name is gx)"\n");
printf("11""22""33""\n"); //Yes,it works.
PRINTF("AAAAAAAAA""\n");
printf(""); //This line works.
MYPRINTF(gx,wlp,gmx);
/*
tmp = CHAR(1);
printf("The tmp value is %d",tmp);
*/
return 0;
}
1. #a:把a替换为一个以双引号括起来的字符串。
2. b##a: 把b和a连接到一起。
3. #@a:不是标准C支持的语法,在gcc中编译报错,建议不使用。
====end====