EOF(ファイルの終わり)
C言語のscanf関数の戻り値は整数型になり、2通りの可能性があります。
scanfが指定されたフォーマット制御文字列に適合した入力を正常に読み取った場合は、正常に読み取られた項目数(つまり、正常に代入された変数の数)を返します。
scanfがファイルの終端(EOF)やエラーなどで入力を読み込めなくなると、特別な値EOFが返されます。EOFはヘッダに定義されたファイルの終わりを表す定数です。負の整数で、通常-1が返されます。
scanfの返り値がEOFの場合、scanfにエラーが発生したか、ファイルの終わりに達しました。これは以下のような場合に発生します。
ユーザーが指定されたフォーマットと一致しない入力をした場合、例えば、ユーザーが入力した文字が想定される整数や浮動小数点に一致しなかった場合。
二、ファイルをよんでいると、ファイルの終端に達した。
ファイルが削除されたり、読み書きの権限が制限されたりなど、入出力エラーが発生した場合
scanfの返り値チェックにより、正しく入力が読み込まれたかを判断し、必要に応じてエラーの処理が行えます。