我正在尝试在C中创建一个简单的基于文本的菜单。我正在使用无限循环并在我让角色退出菜单时断开。但是,在输入不是退出字符的字符后,它会在请求另一个输入之前循环两次菜单。我的代码如下:
while(1){
printf("Please select an option: \na) Evaluate exponential function\nb) Evaluate sin function\nc) Exit\n");
scanf("%c",&ch);
if(ch == 'd')
{
break;
}
}
可能导致此问题的原因以及如何解决?我最好的猜测是它从scanf中获取一个额外的字符,并在下次要求输入时使用它。
我感谢任何帮助。感谢。