scanf()関数の戻り値とEOFについて



About Scanf Function Return Value



scanf()関数は、scanf()またはEOFによって正常に読み取られたアイテムの数に等しい整数値を返します。
#include int main(void) { int i,j int n = scanf('%d %d', &i, &j) printf ('%d', n) return 0 }

入力が2つの数値の場合、出力2(int型ではなく、強制的にint型に変換されます)
入力が2秒の場合、出力は1です(つまり、1つの項目が正常に読み取られます)。
入力が次の場合:s s、出力は0です(つまり、0項目が正常に読み取られます)。

EOF

EOF(ファイルの終わり)、ファイルの終わり、通常EOFはstdio.hファイルで定義されます#define EOF(-1)
scanf()関数は、ファイルの終わりまたはエラーを検出すると、EOFを返します。



多くのコンピュータシステムは、行の先頭のCtrl + Zをファイルの終わり信号として認識し、一部のシステムは、任意の位置のCtrl + Zをファイルの終わり信号として解釈します。 LinuxおよびUnixシステムでは、行の先頭でCtrl + Dを押すと、ファイルの終わりの信号が送信されます。

質問バンクでは、次の同様の文が入力をループするためによく使用されます。



while(scanf( '%d'、&value)!= EOF)
{{

}