首先要明确getchar的功能是:从计算机终端(一般是键盘)输入一个字符,其值就是输入得到的字符。
目录
getchar函数简介
getchar函数执行过程详解(配图)
getchar用法示例
解释一下:while ((ch=getchar()) != 'EOF')
函数原型:int getchar(void); 返回类型为int,参数为void
头 文 件:#include<stdio.h>
(EOF意思是end of file,本质上是-1)
读取方式:只能输入字符型,输入时遇到回车键才从缓冲区依次提取字符。
结束输入的方式:以Enter结束输入(空格不结束),接受空格符。
舍弃回车符的方法:以Enter结束输入时,接受空格,会舍弃最后的回车符。
程序执行到getchar()函数时,自动从输入缓冲区中去找字符,如果输入缓冲区中没有字符的话,那么就等待用户输入字符,此时用户使用键盘输入的字符,被输入到输入缓冲区中,键盘输入字符的时候首先进入输入缓冲区,然后getchar()函数获得的字符是从输入缓冲区中提取的且每次只能提取一个字符。
它的简单意思就是从键盘读入一个字符,然后输出到屏幕。理所当然,我们输入A,输出就是A,输入B,输出就是B。
那么我们如果输出的是ABC呢?答案是A。
解释如下:当我们从键盘输入字符‘A’,‘B’, 'C',并按下回车后,我们的输入被放入了输入缓冲区,这个时候getchar()会从缓冲区中读取我们刚才的输入,一次只读一个字符,所以字符A就被拿出来了,赋值给了ch,然后putchar()又将ch放在了标准输出,也就是这里的屏幕,所以我们看见了最终的显示结果A。同时字符‘A’也被缓冲区释放了,而字符‘B’,'C'仍然被留在了缓冲区。而这样是很不安全的,有可能下次使用的时候,我们的缓冲区会读到一些垃圾,但是当程序结束的时候,它会自动刷新。
getchar先读取一个字符放到ch里面去,如果这个字符不等于EOF,就进入循环,打印这个字符。当getchar读到文件末尾或者结束时,它会返回一个EOF,此时结束循环。
注意:如果上面的代码不用while循环的话,输入ABC,putchar()只会输出A。因为一个getchar一次只能读取一个字符。
以上就是关于getchar的解析啦。如果对你有帮助,记得点赞👍+关注哦!
我的主页还有其他文章,欢迎学习指点。
关注我,让我们一起学习,一起成长吧!
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/5797.html