C程序清单9.10 求解惑。谢谢了!
子函数代码如下: 当我输入英文字母的时候(比如说j),程序无限循环。 这是为什么? 我知道定义的是整型的,不该输入j。书上程序那有处理非整型的,不明白呀。求老司机解惑! int menu(void)
{
int code, status;
printf("\n%s%s\n",STARS,STARS);
printf("Enter the number of the desired hotel:\n");
printf("1.Faire Arms 2.Hotel Olympic\n");
printf("3.Chertworthy 4.The Stock\n");
printf("5.quit\n");
printf("%s%s\n",STARS,STARS);
while((status=scanf("%d",&code)!=1)||(code<1||code>5)) //当输入的不是数字,或者输入的是数字在范围之外///
{
if(status!=1)
scanf("%*s"); //处理非整型输入///
printf("Enter an integer from 1 to 5,please.");
}
return code;
}
[此贴子已经被作者于2017-7-28 14:28编辑过]