2012-01-06 18 views
11

可能性の重複:
マクロ評価順序

# and ## in macros

を第二のprintfの出力をf(1,2)である理由マクロが評価される順序は何ですか?

私は マクロ展開は、第二の出力はf(1,2)れる理由のコンパイル時に

をされているが起こるので、評価の順序は、CまたはC++マクロの意味の用語であるかわからない

#include <stdio.h> #define f(a,b) a##b #define g(a) #a #define h(a) g(a) int main() { printf("%s\n",h(f(1,2))); printf("%s\n",g(f(1,2))); return 0; } output 12 f(1,2) 

答えて

関連する問題