【C言語】unknown conversion type character ‘xxx’ in format

‘xxx’ は C 言語での未知の変換文字です。これは、C 言語のフォーマット文字列内で有効な変換文字以外が指定された場合に発生します。

例えば、次のようなコードを見てみましょう。

#include <stdio.h>

int main(void) {
  int x = 123;

  // 'x' は有効な変換文字であるため、この printf 関数は正常に動作します。
  printf("x = %x\n", x);

  // 'y' は有効な変換文字ではないため、この printf 関数はエラーになります。
  printf("x = %y\n", x);

  return 0;
}

このコードでは、最初の printf 関数の呼び出しでは ‘x’ という有効な変換文字が指定されています。そのため、この printf 関数は正常に動作します。

しかし、2番目の printf 関数の呼び出しでは ‘y’ という有効な変換文字ではないものが指定されています。そのため、この printf 関数はエラーになります。

このように、C 言語ではフォーマット文字列内で有効な変換文字以外が指定された場合、’xxx’ という未知の変換文字が発生することになります。

コメント

タイトルとURLをコピーしました