C语言getchar()和putchar()函数

前言:

       getchar()和putchar()函数都是单字符函数I/O,每次只能处理一个字符。getchar()是输入,putchar()是输出

       在了解函数之前先说一下缓冲区,什么是缓冲区?用户输入的字符被收集并存储在一个临时存储区中,该存储区就叫"缓冲区"。

       为什么要有缓冲区?C Primer Plus书籍上是这样介绍的:首先,把若干字符作为一个块进行传输比逐个发送这些字符节约时间。其次如果用户打错字符,可以直接通过键盘修正错误。当最后按下Enter键时,传输的是正确的输入。

       了解缓冲区基本性质,再来说说getchar()函数,getchar()函数是在控制台上输入一个字符,按下回车键的时候就会退出。如果按回车之前输入了不止一个字符,其它字符会保留在"缓冲区"中,等待后续getchar调用读取(输出)。而putchar()函数的作用如开头所说在控制台上输出一个字符,仅此而已。

       另外在调用getchar()函数在读取(输出)文件,检测到文件末尾会返回一个特殊的值:即EOF。通常EOF定义在stdio.h文件中:#define EOF (-1)。在这里十万个为什么又来了,为什么是-1?在了解EOF之前又回到了getchar()函数,getchar()是有一个int型的返回值,通常该函数返回值类型介于0~127之间,这些值对应标准的字符集。但如果系统能识别扩展字符集,该函数的返回值可能又是一个变数0~255࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值