scanf函数对异常输入的处理

scanf函数对异常输入的处理

标签(空格分隔): C 双学位高级语言程序设计 编程窍门 C输入输出


如果想用C语言的scanf函数筛选正常输入,过滤异常输入,那便可以用scanf函数的返回值了。
scanf函数有返回值,但是我们一般都仅用其输入功能。返回值用法如下。

#include <stdio.h>
int main()
{
    int a;
    ret = scanf("%d",&a);
    while (ret != 1)
    {
        while (getchar() != '\n');
        ret = scanf("%d",&a);
    }
}

scanf返回值的意思是正确读入的数据项数。当输入非整型时,判断为0,进入第一个while;之后,如果接下来未按回车,即换行符,会一直重复第二个while流程,将接下来输入的所有数据存入缓冲区中;while后面跟“;”的意思是这个循环是空循环,满足条件便会一直重复。直到输入回车,getchar将所有数据读走,重新输入数据,判断是否为整型数,为真,则读入;为假,则重复上述流程。

posted @ 2017-12-11 09:08  CF过2100就买ARCTERYX  阅读(179)  评论(0编辑  收藏  举报