#include <stdio.h>
#define TOKEN_PASTER(n) printf("num"#n"= %d\n",num##n)

/*
 * #: 字符串化
 * ##:组合2个标记(token)
 */
int main(void)
{
	int num1 = 100;

	TOKEN_PASTER(1);

	return 0;
}

gcc -E token.c

# 4 "token.c"
int main(void)
{
 int num1 = 100;

 printf("num""1""= %d\n",num1);

 return 0;
}

gcc token.c -Wall
运行结果:

num1= 100