C/C++中宏中的#表示引号,它会给该变量加上引号。
如:
#define MY_PK(info) printf(#info);
MY_PK(hello) 变化过来就是:printf(“hello”);
宏中的##表示连接,将前后两个变量字符连接起来。
如:
#define JUDGE(num) if(para##num >0)
JUDGE(10) 变化过来是 :if(para10 >0)
实例1:
#include <stdio.h>
#define JUDGE(num) if(para##num >0)#define MY_PK(info) printf(#info);
int main(int argc,char *argv[])
{
int para0 = 0;
int para2 = 2;
JUDGE(0)
printf("More than 0.\n");
else
printf("Less than 0.\n");
JUDGE(2)
printf("More than 0.\n");
else
printf("Less than 0.\n");
MY_PK(hello\t)
MY_PK(world\n)
return 0;
}
输出结果: