1.#include <stdio.h>
#define NAME(n) name##n
int main()
{
    
    int NAME(1);
    int NAME(2);
    
    NAME(1) = 1;
    NAME(2) = 2;
    
    printf("%d\n", NAME(1));
    printf("%d\n", NAME(2));
    return 0;
}
2.#include <stdio.h>
#define CONVERS(x) #x
int main()
{
    
    printf("%s\n", CONVERS(Hello world!));
    printf("%s\n", CONVERS(100));
    printf("%s\n", CONVERS(while));
    printf("%s\n", CONVERS(return));
    return 0;
}
//#运算符用于在预编译期将宏参数转换为字符串
//##运算符用于在预编译期粘连两个符号
原文:http://www.cnblogs.com/wxb20/p/6146028.html