【发布时间】:2013-12-20 17:30:54
【问题描述】:
我之前遇到过这个问题,但使用其他运算符解决了这个问题。但是我认为不能在这里使用相同的运算符(getche();)。无论如何,这很好用,但是如果我输入一个字母,它就会进入无限循环。
printf("Enter the number of the passenger you wish to edit.");
scanf("%d", &userchoice);
do
{
if(userchoice <= count || userchoice <= 1)
{
flag = 0;
}
else
{
printf("Please enter a valid input!");
scanf("%d", &userchoice);
flag = 1;
}
} while (flag == 1);
【问题讨论】:
-
你的
count值是多少 -
你的意思是 userchoice 必须在 1 和 count 之间?如果是,应该是
if(userchoice <= count && userchoice >= 1)。 -
你应该写下用户选择的类型是什么
-
无限循环是什么意思?是否打印“请输入有效的输入!”无限次?
标签: c scanf infinite-loop