在K&R的开头碰到了getchar函数的用法有些迷糊,在查找了一些资料以及动手实践后有了大致的了解。
enter
或者ctrl+D
后,getchar会检查缓冲区中是否有数据,如果有的话,会开始读取缓冲区中的数据假设现在依次从键盘输入 1,2,3,4,会依次将1,2,3,4输入缓冲区中,也可以用backspace
从最后输入的字符删除缓冲区中的数据,直到输入enter
或者ctrl+D
时,getchar开始依次读取缓冲区内的数据。
需要注意的是,例如输入enter
时会先将\n
存入再刷新缓冲区,例如输入1,2,3,4,再输入enter
后,缓冲区中的数据依次是[1,2,3,4,\n]。getchar会按存入缓冲区的顺序读取数据,并且缓冲区在main函数执行结束后销毁。
getchar函数从缓冲区读取数据的意义:节省资源和时间,提高资源利用效率,而且可以修改缓冲区内的数据。
转载于:https://www.cnblogs.com/yuyin/articles/9636003.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/184190.html原文链接:https://javaforall.cn