C语言 如何防止输入格式错误

2025-04-13 17:04:43
推荐回答(1个)
回答1:

可以通过scanf来控制输入格式,当scanf返回值不正确时,即为输入格式错误,这时清除输入缓冲,并提示重新输入。


scanf为C语言格式化输入函数,第一个参数为格式化字符串,可以用来确定输入格式。其返回值为正确输入的变量总数,当格式错误时,输入就会产生错误,返回值自然会不正确。于是通过判断返回值,可以知道是否有格式错误出现。


参考代码如下:

int a,b;
int ret;

//循环输入a,b值。如果格式错误,重新输入。如果得到正确值,终止输入。
while(1)
{
    ret = scanf("%d,%d", &a,&b); //必须以逗号分隔。
    if(ret != 2)//格式错误。
    {
        fflush(stdin);//清除输入缓冲,抛弃非法字符。
        printf("输入格式错误,请重新输入。\n");//提示重新输入。
    }
    else
        break;//输入正确,退出循环。
}