%d の代わりに変数を指定せずに出力を知ろうとしましたが、プログラムのコンパイルにエラーはありませんが、以下のように出力がどのように表示されるのだろうかと思います。
#include <stdio.h>
int main()
{
printf("%d");
return 0;
}
出力は7288368になりました
%d の代わりに変数を指定せずに出力を知ろうとしましたが、プログラムのコンパイルにエラーはありませんが、以下のように出力がどのように表示されるのだろうかと思います。
#include <stdio.h>
int main()
{
printf("%d");
return 0;
}
出力は7288368になりました
「入力出力をフォーマットするために変数を指定する必要があるのはなぜですか?」
実装がprintf
そう要求するからです。のマニュアルページからprintf
:
「各変換指定は文字 % で始まり、変換指定子で終わります...引数は、(型昇格後) 変換指定子と適切に対応している必要があります。」
"%d"
10 進変換に適した整数の引数を期待する書式文字列を使用しましたが、引数を指定していないため、未定義の動作が発生しました