getchar()不是只能得到一个字符吗,为什么还能用来判断输入一段字符?

2020-10-28 科技 185阅读

getchar()它确实每次只能读取一个字符,但是循环下一次遇到getchar()其实是从缓冲区读取用户上一次输入的字符串剩下的字符,直到遇到'\n'才结束

如果没有设定'\n'这个条件,那么接下来的getchar()才是再一次键盘输入,所以用户才会产生"每次出来一个字符,并且下一次循环是再次输入"这种错觉。

扩展资料:

getchar()函数原理

getchar由宏实现:#define getchar() getc(stdin)。getchar有一个int型的返回值,当程序调用getchar时,程序就等着用户按键。

用户输入的字符被存放在键盘缓冲区中,直到用户按回车为止,当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符。

参考资料来源:百度百科-getchar()



声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com