为什么我输入字符时会进去死循环,而不是让我再次输入
#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;
}