これがコードで、非常に単純ですが、なぜfgets
最初のループの後にプロンプトが表示されないのでしょうか? そして年齢です。(そして奇妙なことに、それは動作しscanf("%s",&name_temp)
ますが、私は áéíóúÇ、スペースなどの他の文字も取得する必要があるので、の方が良いでしょうfgets
)
int menu_option = 0;
char name_temp[80] = "";
int age_temp = 0;
while(menu_option != 9){
//strcpy(name_temp,"");
printf("Type your name\n");
fgets(name_temp, 80, stdin);
printf("\nType your age\n");
scanf("%d", &age_temp);
}
(削除された回答から移動)
皆さん、ご回答ありがとうございます。しかし、皆さんが私の質問を理解していないと思います。私が送信したこのコードをテストしてください。ターミナルに入力するものを表示する代わりに、最初のコードの後は無視されることがわかります。 while ループ。
私が望んでいたのは、最初のループ (while) の後で戻ってきて、プログラムを使用している人物の名前を再度尋ね、プログラムを使用している人はもう一度入力する必要があるということです。しかし、その代わりに、ループの最初の時間の後、何も入力するように求められず、fgets は完全に無視されます。
コードを試して、何ができるか教えてください。
freopen を試してみましたが、うまくいきませんでした。