请大家帮我看看:输入字母则陷入死循环
就下面这段代码,目的是要求使用者输入1-5的选项,如果输入错误则返回重新输入实际效果是:如果输入错误的数字则正常返回,如果输入字母或中文,则陷入死循环,跳过输入语句(scanf),直接开始if语句!
请大家帮忙分析下是什么原因,谢谢大家!
程序代码://当输入非数字字符时会陷入死循环
#include <stdio.h>
main()
{
int num;
input:
printf("请输入1-5之间的数:\n\n");
scanf("%d",&num);
//下面的if语句用来防止使用者输入无效选项:
if(num<1||num>5)
{
printf("\n输入有误,任意键继续\n\n");
getch();
goto input;
}
printf("您输入的是: %d\n",num);
}







