getchar について
私はC言語を初めてまもないものです。今日はgetcharについておききしたく
て投稿します。今回私は仕事でまわされたアンケートをCで集計しようと思い、
ソースを書いていたのですが、うまく実行されませんでした。一文字入力して
エンターを押すと、行程が一つ跳んでしまうようです。問題はgetchar の使い
方にあるか、またはgetcharを使うこと自体にあるか、とは思うのですが、ど
のようにしたらよいかわかりません。以下にソースを短くしたものを転載しま
すので、どなたか教えてください。お願いします。
#include<stdio.h>
int main ()
{
int g, h, i = 0, j = 0, k = 0;
for (h = 1; h <= 3; h++){ //簡単の為3人分だけ数える。
//アンケートのQ1.はYes または No で答えるもの。
//Yesを y 、Noを n 、無回答を 0 で入力する。
printf ("Q1. ");
g = getchar ();
if (g == 'y'){
i++;
}
if (g == 'n'){
j++;
}
if (g == '0'){
k++;
}
}
//A1.回答表示
printf("A1.\n");
printf (" Yes = %d\n", i);
printf (" No = %d\n", j);
printf ("Mukaitou = %d\n", k);
return 0;
}
--
Akira Otake
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735