1
計劃1:#和##宏用C
#include <stdio.h>
#define foo(x, y) #x #y
int main()
{
printf("%s\n", foo(k, l)); //prints kl
return 0;
}
方案二:在這兩個程序的輸出
#include <stdio.h>
#define foo(m, n) m ## n
int main()
{
printf("%s\n", foo(k, l)); //compiler error
}
爲什麼這種變化? 這兩個程序的確切區別是什麼?
''#stringifies,''##會連接。這是一個騙局。 – 2013-08-31 20:37:21