我想知道这段代码输出背后的原因。我想不出答案。
#define f(a,b) a##b
#define g(a) #a
#define h(a) g(a)
void main()
{
printf("%s %s",h(f(1,2)),g(f(1,2)));
}
PS:输出是12 f(1,2)
. 我以为是12 12
或f(1,2) f(1,2)
。
我想知道这段代码输出背后的原因。我想不出答案。
#define f(a,b) a##b
#define g(a) #a
#define h(a) g(a)
void main()
{
printf("%s %s",h(f(1,2)),g(f(1,2)));
}
PS:输出是12 f(1,2)
. 我以为是12 12
或f(1,2) f(1,2)
。