“format string argument is not a string type” というエラーメッセージは、C 言語の printf 関数が文字列型以外の引数を渡された場合に発生します。
例えば、次のようなコードを見てみましょう。
#include <stdio.h>
int main(void) {
  int x = 123;
  // 文字列型の引数を渡して printf 関数を呼び出すと、正常に動作します。
  printf("x = %d\n", x);
  // 整数型の引数を渡して printf 関数を呼び出すと、エラーが発生します。
  printf(123, x);
  return 0;
}このコードでは、最初の printf 関数の呼び出しでは、文字列型の引数として “x = %d\n” を渡しています。そのため、この printf 関数は正常に動作します。
しかし、2番目の printf 関数の呼び出しでは、整数型の引数として 123 を渡しています。これは、printf 関数の仕様では、最初の引数は文字列型である必要があります。そのため、この printf 関数はエラーになります。
このように、C 言語では printf 関数に文字列型以外の引数が渡された場合、”format string argument is not a string type” というエラーメッセージが発生することになります。
 
  
  
  
  
コメント