首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

为什么小弟我输入字符时会进去死循环,而不是让小弟我再次输入

2012-12-30 
为什么我输入字符时会进去死循环,而不是让我再次输入#includestdio.hint main(){while(1){float moneyi

为什么我输入字符时会进去死循环,而不是让我再次输入
#include<stdio.h>
int main()
{
    
while(1){
float money;
    if(scanf("%f",&money)==1){
printf("输入正确\n");
}
else{
printf("输入有误,请重新输入\n");

}}
}
[解决办法]


#include<stdio.h>
int main() {
while (1) {
float money;
if (scanf("%f", &money) == 1) {
printf("输入正确\n");
} else {
getchar();  // 读取非法字符
printf("输入有误,请重新输入\n");

}
}
return 0;
}


[解决办法]
你输入的内容不符合%f但是还是会存在于行缓冲区里,下次还会用上次输入的数据去匹配%f,所以会存在死循环;解决办法是将行缓冲清空。

热点排行