真的吗?
for(;;)
{
printf("输入雇员信息请按1,查看雇员信息请按2:");
scanf("%d",&i);
if(i==1)
{
Getpayroll();
}
else if(i==2)
{
Displaypayroll();
}
else
{
printf("Error.");
}
}为什么上面程序再输入字母后会跳过输入的步骤无限循环下去,
当输入的数据类型无法与指定的匹配,那么程序就将停止对scanf()语句的处理,直接跳过,
乱码不一定是数字是吧;
for(;;)
{
printf("输入雇员信息请按1,查看雇员信息请按2:");
scanf("%d",&i);
if(i==1)
{
Getpayroll();
}
else if(i==2)
{
Displaypayroll();
}
else
{
printf("Error.");
}
}为什么上面程序再输入字母后会跳过输入的步骤无限循环下去,
楼上说的很好,当你输入字母后,与你的类型不匹配,scanf("%d",&i);就不会执行,而是系统自己随机赋一个值给I,指针就一直在哪里,输入语句的上面,这是我的理解,不知道有没有问题,如果你有明确的知识点,请告诉我,谢谢