这是我的第一次尝试,但它没有用。
如果我有意输入错误的输入值,则转到INF循环,例如:asdas dfsad afdas
float a,b ;
while (1){
if(scanf("%f %f",&a,&b) == 2) {
break;
}
printf("Error, try again:");
}
答案 0 :(得分:3)
避免此类问题的最佳方法是使用fgets()
一次读取整行,然后使用sscanf()
解析(或者在您的情况下,可能是strtod()
)。这不仅可以避免您现在遇到的特定问题,还可以避免在输入格式不符合预期时出现其他类问题。