ユーザーがいくつかのオプションから選択する必要がある単純なプログラムを c で作成しようとしています。
char command = '1';
while(command!='0') {
printf("Menu:\n");
printf("1. First option\n");
printf("2. Second option\n");
printf("0. Exit\n");
printf("Choose: 0,1,2?: ");
command = getchar();
while(getchar()!='\n');
switch(command) {
case '0': break;
case '1': functionCall1(); break;
case '2': functionCall2(); break;
}
}
私のコードの問題は、1、2、または 0 を入力するたびに何も起こらず、メニューだけが再び表示されることです。デバッガーを使用すると、 command = getchar() の後の command の値が毎秒 '' に等しいことがわかります。改行文字を食べるだけで十分だと思いましたか?