“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” というエラーメッセージが発生することになります。
コメント