#a会创建一个字符串:"a";a##b会创建一个新的token:ab。
#include <stdio.h>
#define f(a,b) a##b
#define g(a) #a
#define h(a) g(a)
int main()
{
printf("%s
",h(f(1,2)));
printf("%s
",g(f(1,2)));
return 0;
}
输出
h(f(1, 2)) -> h(12) -> g(12) -> "12" g(f(1, 2)) -> "f(1, 2)"