76-C语言中的getchar和putchar详解
来源:互联网 发布:重庆 js防水涂料 公司 编辑:程序博客网 时间:2024/05/16 15:37
C语言中的getchar和putchar详解
首先给出《The_C_Programming_Language》这本书中的例子:
#include <stdio.h>
int main()
{
}
这里主要解释下为什么要用int型来接受getchar函数。
很多时候,我们会写这样的两行代码:
char c;
c = getchar();
这样就很有可能出现问题。因为getchar函数除了返回终端输入的字符外,在遇到Ctrl+D(Linux下)即文件结束符EOF时,getchar ()的返回EOF,这个EOF在函数库里一般定义为-1。因此,在这种情况下,getchar函数返回一个负值,把一个负值赋给一个char型的变量是不正确的。
下面用一个题目来看其实如何获取字符和输出字符的。
#include "stdio.h"
main()
{
}
运行后先输入“12”,回车,再输入“34”,回车。
运行环境是redhat gcc
运行结果:
please input two characters:
12
1
2
34
3
c=1
d=2
e=
f=3
下面具体解释一下:
getchar函数每次从缓冲区中得到一个字符,putchar函数每次输出一个字符。
首先输入了两个字符12,然后回车,注意这时写入缓存中的有3个字符1,2,回车。
程序中有四个getchar(),于是c='1',d='2',e='\n'。
这时运行到f=getchar();输入缓存中的三个字符均被前三个getchar获取,这时需要用户输入,
这里输入了34
于是f='3',4和后面的回车没有被利用。
这便是整个流程。
原文地址:http://www.cnblogs.com/hdchild/archive/2009/11/19/1606457.html
- C语言中的getchar和putchar详解
- C语言中的getchar和putchar详解
- C语言中的getchar和putchar详解
- 76-C语言中的getchar和putchar详解
- c语言中的getchar()和putchar()
- C 语言putchar和getchar()
- c语言 getchar()和putchar()
- c中的getchar和putchar
- 【C语言】getchar,putchar
- getchar和putchar详解
- getchar()和putchar()详解
- 【C语言学习】getchar , putchar
- C语言中的getchar, scanf, putchar, printf学习
- C语言学习->getchar()和putchar()详细解释。
- C语言的单字符IO之getchar()和putchar()
- C语言getchar()函数与putchar()函数
- C语言 getchar(),putchar()函数的使用
- C语言顺序程序设计详解(scanf,printf,getchar,putchar等函数)
- HashMap之Java实现
- Thindpad T430u折腾小攻略
- lucene4.0入门实例
- 蓝桥杯第五届热身
- how to use regular expressions in yii
- 76-C语言中的getchar和putchar详解
- Apache学习笔记(二)Apache服务器的安装
- Java中文乱码——4、Java读Oracle乱码
- 003_001 Python 计算昨天和明天的日期
- 攻下隔壁女生路由器后,我都做了些什么
- 随机生成整数 然后对其排序(冒泡法)
- TreeMap的相关运用
- 第七章 右左法则----复杂指针解析
- poj 1016 Numbers That Count 字符串操作