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将所有数据读走,重新输入数据,判断是否为整型数,为真,则读入;为假,则重复上述流程。
相关文章推荐
- 如何处理scanf()函数误输入造成程序死锁或出错(fflush(stdin))
- 处理格式化输入函数scanf遇空格停止问题
- 45-批量输入异常处理(shutdown 函数)
- 处理输入成绩异常
- c中scanf的格式化输入函数
- 字符串输入函数gets( ) fgets( ) scanf( )
- 黑马程序员_学习日记37_601基础加强(enums_truct_类型转换_值类型与引用类型_异常处理_函数返回值)
- 关于windows的safari浏览器的parseInt()函数处理08和09异常问题
- C语言使用scanf函数获取数据后,使用getchar()无法获得字符的处理方法
- Linux C 字符串输入函数 gets()、fgets()、scanf() 详解
- 我的理解:在有返回值的函数内是否应该使用异常处理?欢迎大家斧正
- 函数指针数组在ARM异常中断处理中的应用
- 让你提前认识软件开发(10):字符串处理函数及异常保护
- 关于scanf函数的输入类型不匹配问题
- sprintf函数%u输入long long int型数值异常
- C函数printf中不能使用%lf,而用%f输出double,而函数scanf却必须用%lf来输入double
- 2 curses库IO处理--输入/输出函数
- 输入10个整数,将其中最小的数与第一个数对换,把最大的数和最后一个数对换,写三个函数:1.输入10个数,2.进行处理.3输出10个数
- Scala学习回顾(二)---- scala函数定义、流程控制及异常处理
- 关于windows的safari浏览器的parseInt()函数处理08和09异常问题