c语言 getchar_第十二章、getchar、putchar和缓冲区介绍

经过前面几章我们对C语言已经有了一定的了解,其中的printf和scanf几乎可以打印和输入所有格式的内容,但是呢有时候我们只是需要输入输出一个字符,使用printf和scanf就有点繁琐了,那我们可以用getchar和putchar来输入输出单个字符。

我们来看一个简单的例子,就是输入一个字符然后在屏幕上显示它。

8cbeea6f6672c0c4a64e814c05b8a883.png

有时候你想让用户按某个字符退出循环什么的,就可以用这个,比如按井号键(#)结束:(ch=getchar())!='#'。

接下来我们来了解一下缓冲区

缓冲区打个不太惬当的比方就是购物车,在没有缓冲区的时候,你买东西就直接点购买,那这个时候,你要买多少东西,就得点多少次的购买,万一不想买了,那就麻烦了,需要联系客服退货,那么有缓冲区的时候,你买东西就是先把东西放入购物车,,然后把你放入购物车的东西统一支付,要是在里面有不想买的,还可以修改。就大致是这么个意思。

1085ed900a634f8733e72faba04d46e6.png

当然有些时候我们不能用缓冲,比如你在打游戏的时候,是不是一按下某个键马上就有对应的操作,所以他们有各自的用途。

缓冲分为两类:完全缓冲I/O和行缓冲I/O,对完全缓冲输入来说,缓冲区满时被清空,其内容被发送到目的地,这种类型的缓冲通常出现在文件输入中,缓冲区大小取决于系统,一般可能是512字节或4096字节。对于行缓冲I/O来说,遇到一个换行字符时将被清空缓冲区,想一下,我们用getchar和scanf时是不是只有在按了回车后才被输入的。

这一章比较短就介绍这些。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值