a##b&とは#a?
  #define f(a,b) a##b
  #define g(a)   #a
  #define h(a) g(a)
  main()
  {
          printf("%s\n",h(f(1,2)));  //how should I interpret this?? [line 1]
          printf("%s\n",g(f(1,2)));  //and this? [line 2]
  }
このプログラムはどのように機能しますか?
出力は
12
f(1, 2)
今、私は方法a##bと#a働きを理解しています。しかし、2つのケース(1行目と2行目)で結果が異なるのはなぜですか?