在c中输入float时如何进行错误检查?

How to error check when entering a float in c?

我有一个程序提示用户输入一个非负数或字符的整数。我想提示用户输入浮动。我该怎么做?

do {
    printf("Enter a number.\n");  
} while(((scanf("%d%c", &x1, &term) != 2 || term != '\n') 
          && reset_stdin()) || x1 < 1);

int reset_stdin()
{
    while (getchar()!='\n');
    return 1;
}

要将 scanffloat 一起使用,只需使用 "%f" 格式说明符即可。

float input;
scanf("%f", &input);