您的位置:首页 > 编程语言 > C语言/C++

scanf函数对异常输入的处理

2017-12-11 09:07 417 查看

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将所有数据读走,重新输入数据,判断是否为整型数,为真,则读入;为假,则重复上述流程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  函数 c语言