「http://www.dia-net.ne.jp/~xbox/question.html」
上記のURLにプログラムのソースを載せました。
実行し、文字列の個数を入力すると、なぜか最初のループで、文字列の入力ができません。
2回目以降は、入力ができます。
どうしてなのでしょうか?
よろしくお願いいたします。
fgets関数について
Re:fgets関数について
scanf("%d", &n);
では、数値の後の改行までは取得されないため、
最初の入力時にその改行が入ってしまいます。
最初の改行を取り除く処理が必要です。
scanf("%d", &n);
fgets(str, 100, stdin);
くらいでいいんじゃないかな?もっとスマートなやり方あったかもしれないが(^^;
では、数値の後の改行までは取得されないため、
最初の入力時にその改行が入ってしまいます。
最初の改行を取り除く処理が必要です。
scanf("%d", &n);
fgets(str, 100, stdin);
くらいでいいんじゃないかな?もっとスマートなやり方あったかもしれないが(^^;
Re:fgets関数について
>くらいでいいんじゃないかな?もっとスマートなやり方あったかもしれないが(^^;
getchar()関数で空読みするという方法がいいと思います、getchar()の場合は、戻り値
に入力されたキー(正確には入力バッファに残っているもの)を返すだけですから、それ
を無視してしまえばいいと思います。
getchar()関数で空読みするという方法がいいと思います、getchar()の場合は、戻り値
に入力されたキー(正確には入力バッファに残っているもの)を返すだけですから、それ
を無視してしまえばいいと思います。