scanf,gets,和fgets使用时要注意
来源:互联网 发布:卫生部网络直报系统 编辑:程序博客网 时间:2024/06/05 09:43
scanf从stdin流,即终端输入,遇回车‘\n’停止,但‘\n’还在输入流中。
例:
#include <stdio.h>int main(){ int a;char b;scanf("%d",&a);scanf("%c",&b);printf("a=%d b=%c\n",a,b);return 0;}
先终端获得4个字节的的整形,按'\n'结束。'\n'还在输入流中,所以下次再输入b时,由于b是一个字节,所以他就直接
将'\n'拿过来用了。所以当你运行时,一输入a,b就会自动跳过。
gets使用时要注意,gets函数格式gets(a);不检查内存空间,容易溢出。
fgets相对gets而言要安全点,格式fgets(*s,size,stdin),*s为地址,size为要读取的长度,stdin是从终端读取。
- scanf,gets,和fgets使用时要注意
- scanf gets 和 fgets的区别
- fgets、gets和scanf的区别
- fgets、gets和scanf的区别
- fgets、gets和scanf的区别
- scanf/gets/puts/fgets
- scanf, gets, fgets
- 区别 scanf gets fgets
- scanf()、gets()、fgets总结
- scanf gets fgets
- 关于gets,fgets,scanf
- 使用scanf和fgets需要注意的一个小问题
- 使用gets()和scanf()应该注意的地方
- c 中的scanf, gets,fgets
- Linux gets scanf fgets 分析
- 字符串输入函数,scanf,gets,fgets的用法和区别
- 为什么循环里的gets()和fgets()在前面有一个scanf时,会跳过第一个的输出
- 为什么循环里的gets()和fgets()在前面有一个scanf时,会跳过第一个的输出
- ssh socket转发代理
- 操作符优先级
- 树状数组
- android makefile(android.mk)分析(2)
- 下载并交叉编译busybox的shell脚本
- scanf,gets,和fgets使用时要注意
- Android.mk的用法和基础
- SQL Server不必要的记录锁(NOLOCK)
- objective-c 单例类的简单实现
- NSFetchedResultsController的使用
- 你们累不了
- 数据库大数据量的处理
- overridePendingTransition 自定义翻页效果
- Oracle Discrete Manufacturing vs Process Manufacturing