は、ここで私の問題を引き起こしているコードの抜粋です:改行はfgets()の後でバッファに残りますか?
#define MAX_NAME_LEN 64
char choice;
char name[MAX_NAME_LEN];
printf("Name: ");
fgets(name, MAX_NAME_LEN, stdin);
choice = getchar();
私は名前と入力し、Enterキーを押します後、getchar関数()次の文字を待っているのではなく、同様の改行をキャプチャします。 getchar()が名前を入力した後に期待どおりの文字を待つように、コードを修正するにはどうすればいいですか?
'MAX_NAME_LEN'に追加しないでください - ' fgets() 'は' n-1'文字だけを読み込み、終了NULのために残しておきます。 – Alnitak
ああ、そうです。訂正してくれてありがとう。 – linkmaster03