c中scanf和gets,puts混合例题的理解;
来源:互联网 发布:java字符串编码转换 编辑:程序博客网 时间:2024/06/05 22:35
c中scanf和gets,puts混合使用的理解;
例如:
void main()
{
char s1[10],s2[10],s3[10];
scanf("%s",s1);
gets(s2);
gets(s3);
puts(s1);
puts(s2);
puts(s3);
getch();
}
如果输入是:aaa/enter/bbb/enter,会有怎样的输出?
答案是:
aaa
bbb
aaa
bbb
|
但如何理解这样的输出呢?
其实是这样的,首先输入aaa 回车,scanf函数遇到回车自动结束接收结束,
则S1中存放aaa,之后回车操作符任然存留在键盘缓冲区,但到了get(S2),
它遇到键盘缓冲区的回车后,结束接收,并清空键盘缓冲区,之后遇到get(S3),
接收bbb,遇到回车,结束接收;
之后的puts(s1);puts(s2);puts(s3);,S1输出aaa自带回车,S2输出为空
自带回车换行,S3输出bbb自带回车到下一行;
例如:
void main()
{
char s1[10],s2[10],s3[10];
scanf("%s",s1);
gets(s2);
gets(s3);
puts(s1);
puts(s2);
puts(s3);
getch();
}
如果输入是:aaa/enter/bbb/enter,会有怎样的输出?
答案是:
aaa
bbb
aaa
bbb
|
但如何理解这样的输出呢?
其实是这样的,首先输入aaa 回车,scanf函数遇到回车自动结束接收结束,
则S1中存放aaa,之后回车操作符任然存留在键盘缓冲区,但到了get(S2),
它遇到键盘缓冲区的回车后,结束接收,并清空键盘缓冲区,之后遇到get(S3),
接收bbb,遇到回车,结束接收;
之后的puts(s1);puts(s2);puts(s3);,S1输出aaa自带回车,S2输出为空
自带回车换行,S3输出bbb自带回车到下一行;
阅读全文
0 0
- c中scanf和gets,puts混合例题的理解;
- scanf(),printf()和gets(),puts()的区别
- C语言中关于gets和scanf函数的理解
- C语言scanf()和gets()及printf()和puts()的区别
- C语言scanf()和gets()及printf()和puts()的区别
- C语言scanf()和gets()及printf()和puts()的区别
- C语言scanf()和gets()及printf()和puts()的区别
- C语言scanf()和gets()及printf()和puts()的区别
- C语言中printf,scanf,getchar , puts,gets 的使用及区别
- scanf()和gets()及printf()和puts()
- scanf/gets/puts/fgets
- C语言输入中对scanf和gets的讨论
- C语言输入中对scanf和gets的讨论
- C语言中scanf和gets的区别
- C语言中scanf()和gets()的比较
- C语言中gets()和scanf()的区别
- DSP 调用 C 输入输出函数 scanf() printf() gets() puts()
- scanf(),printf()和gets(),puts()在输入输出字符串时的区别
- Java this关键字详解
- zoj3209 精确覆盖
- Java定时任务之Quartz
- 数据库中间件 Sharding-JDBC 源码分析 —— SQL 解析(三)之查询SQL
- Git 相关操作
- c中scanf和gets,puts混合例题的理解;
- oracle数据库定时任务
- android开发之选项菜单,上下文菜单,子菜单的设置
- <note>8月5日
- Cool Edit Pro的入门
- 1029. Median (25)
- 虚拟币开发专题(山寨币是怎样完成转账确认的)
- python的 requests库使用
- PHP四种标记风格