7

指定されたパラメーターの名前と値を出力するのに役立つマクロが必要です。以下のコードのようなものです。

#define AA "Hello"
#define BB "World"
#define PRINT(input_param) printf("input_param: %s\n", (input_param))
void main()
{
  PRINT(AA);
  PRINT(BB);
}

私は結果を期待しています:AA: Hello\n BB: World\n

しかし、明らかにそうではありません。誰でも私を修正できますか?ありがとう。

4

1 に答える 1

12

でマクロ名を文字列化する必要があります#。これassert()も同様に機能します:

#define AA "Hello"
#define BB "World"
#define PRINT(input_param) printf(#input_param ": %s\n", (input_param))
void main()
{
  PRINT(AA);
  PRINT(BB);
}

次のように書いた方がわかりやすいかもしれません。

#define PRINT(input_param) printf("%s: %s\n", #input_param, (input_param))
于 2012-06-23T03:01:46.110 に答える