C语言几种输入函数的比较
来源:互联网 发布:全民奇迹服务端源码 编辑:程序博客网 时间:2024/06/05 20:38
scanf的返回值
scanf()函数返回成功赋值的数据项数,读到文件末尾出错时则返回EOF。
如:
scanf("%d%d", &a, &b);
如果a和b都被成功读入,那么scanf的返回值就是2
如果只有a被成功读入,返回值为1
如果a和b都未被成功读入,返回值为0
如果遇到错误或遇到end of file,返回值为EOF
且返回值为int型
空白符:空白字符会使scanf()函数在读操作中略去输入中的一个或多个空白字符。
非空白符:一个非空白字符会使scanf()函数在读入时剔除掉与这个非空白字符相同的字符。
使用scanf函数时应该注意的问题
(1) 对于字符串数组或字符串指针变量,由于数组名和指针变量名本身就是地址,因此使用scanf()函数时,不需要在它们前面加上"&"操作符。
(2) 可以在格式化字符串中的"%"各格式化规定符之间加入一个整数,表示任何读操作中的最大位数。
(3) scanf()函数中没有精度控制。
如: scanf("%5.2f",&a); 是非法的。不能企图用此语句输入小数为2位的实数。
(4) scanf中要求给出变量地址,如给出变量名则会出错
如 scanf("%d",a);是非法的,应改为scnaf("%d",&a);才是合法的。
(5) 在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格,TAB或回车作间隔。
C编译在碰到空格,TAB,回车或非法数据(如对“%d”输入“12A”时,A即为非法数据)时即认为该数据结束。
(6) 在输入字符数据(%c)时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。
(7) 如果格式控制串中有非格式字符则输入时也要输入该非格式字符。
getchar
getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回 车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字 符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续 getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按 键.
getch
getch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回, getch返回值是用户输入的ASCII码,出错返回-1.输入的字符不会回显在屏幕上.getch函数常用于程序调试中,在调试时,在关键位置显示有关 的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行
gets
功能:从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为null值,并由此来结束字符串。
返回值:读入成功,返回与参数buffer相同的指针;读入过程中遇到EOF(End-of-File)或发生错误,返回NULL指针。所以在遇到返回值为NULL的情况,要用ferror或feof函数检查是发生错误还是遇到EOF。
阅读全文
0 0
- C语言几种输入函数的比较
- C语言字符串输入函数的比较与解析
- C语言输入函数作为循环条件的几种用法
- C语言输入比较
- c语言编程的几种排序算法比较
- C语言数组清空的几种方法比较
- C语言几种循环的比较"黑马程序员"
- C语言数组清空的几种方法比较
- C语言几种输入 & 输出
- C语言几种排序算法比较
- C语言几种排序算法比较
- C语言实现strlen函数的几种方法
- C语言函数指针的几种用法
- C语言实现字符串拷贝函数的几种方法
- 关于c语言的输入函数问题
- C语言的格式化输入函数scanf
- 黑马程序员-C语言的输入函数
- C语言的字符串输入gets()函数
- centos安装twemproxy实现分布式缓存
- C++深拷贝和浅拷贝
- 淘淘商城项目系列-1.Eclipse开发环境配置
- Your system is running in low-graphics mode
- github push 出错:fatal: Authentication failed for 'https://github.com/ ..的解决
- C语言几种输入函数的比较
- Redis测试分析(pipeline模式推荐)
- Tomcat部署Solr教程
- 开始-运行命令大全
- 单点登录SSO:概述与示例
- 欢迎使用CSDN-markdown编辑器
- leetcode 264. Ugly Number II
- Java序列化与反序列化讲解
- C++ 08 —— Const