Размер видео: 1280 X 720853 X 480640 X 360
Показать панель управления
Автовоспроизведение
Автоповтор
C言語の勉強を最近始めたばかりの者です。整数の入力を求めるプログラムを書く場合、参考書や解説サイトではscanf()関数での例が多く、scanf("%d", &x)などとした時に文字や文字列を入力されてしまうと、無限ループに陥ってしまうのが非常に気になっていました。なのでこの動画のfgets()関数とstrchr()関数を利用する部分が特に参考になりました。ありがとうございます。
scanfは読み取った項目の数を戻り値として返します。なのでif (scanf("%d", &x) == 1) { /* 正しく%dで1つ読み取れた */} else { /* 誤った入力 */}などと処理できます。それでも改行文字が読まれずに入力に残るのでちょっと面倒ではありますが、簡単なプログラムでもこのくらいエラー処理しないと困ることはありますね(^^)
C言語の勉強を最近始めたばかりの者です。
整数の入力を求めるプログラムを書く場合、参考書や解説サイトではscanf()関数での例が多く、scanf("%d", &x)などとした時に文字や文字列を入力されてしまうと、無限ループに陥ってしまうのが非常に気になっていました。
なのでこの動画のfgets()関数とstrchr()関数を利用する部分が特に参考になりました。
ありがとうございます。
scanfは読み取った項目の数を戻り値として返します。なので
if (scanf("%d", &x) == 1) {
/* 正しく%dで1つ読み取れた */
} else {
/* 誤った入力 */
}
などと処理できます。それでも改行文字が読まれずに入力に残るのでちょっと面倒ではありますが、簡単なプログラムでもこのくらいエラー処理しないと困ることはありますね(^^)