《输入缓冲区浅析》

很多编程小白(猪猪也是),都听说一个概念叫做输入缓冲区,但是又没有深入了解过这个概念具体指的是什么?那么编程小白的救星猪猪我就来拯救各位了,老规矩,如果有什么问题的话,还请于评论区斧正,觉得猪猪写的还不错的话,还请给位帅哥靓女们动动小手一件三连,猪猪在这里谢谢了。

在我们正常使用scanf函数的时候,会出现空格读取不了的情况,如图所示:《输入缓冲区浅析》_第1张图片

 或者是想着连续读取两行发现自己死活读不对的情况,如图所示:《输入缓冲区浅析》_第2张图片

小问号,你是不是有好多小朋友?

从这开始我们就要说说一个概念叫输入缓冲区了,从我们键盘输入的字母是直接去输入到程序的运行框吗?答案是否定的,输入的字符是直接输入到输入缓冲区的,然后由函数从输入缓冲区读取,但是不同的函数读取的方式都是一样的,scanf每次都是遇到空格就不读取的,而getchar是每次都读取一个字符,这个时候就有小伙伴要问了,getchar没有读取到东西啊,为啥会输入10?

兄弟们,你们在输入一串字符的时候是不是摁了一下回车?回车就不是字符吗?答案是否定的,而getchar读取到的就是这个字符,并且将这个字符输出。这也就完美的解释了为啥有时候需要用getchar()去消除这个回车键。

读取和输入缓冲区的关系如图所示:《输入缓冲区浅析》_第3张图片

 猪猪在此在埋上一个坑,后续坑定是由几大输入函数的辨析和输出函数的辨析,大家点点关注就可以第一时间去了解到猪猪的更新!

你可能感兴趣的:(c#)