发布网友 发布时间:2022-05-15 16:36
共5个回答
热心网友 时间:2024-02-25 07:46
getchar()它确实每次只能读取一个字符,但是循环下一次遇到getchar()其实是从缓冲区读取用户上一次输入的字符串剩下的字符,直到遇到'\n'才结束
如果没有设定'\n'这个条件,那么接下来的getchar()才是再一次键盘输入,所以用户才会产生"每次出来一个字符,并且下一次循环是再次输入"这种错觉。
扩展资料:
getchar()函数原理
getchar由宏实现:#define getchar() getc(stdin)。getchar有一个int型的返回值,当程序调用getchar时,程序就等着用户按键。
用户输入的字符被存放在键盘缓冲区中,直到用户按回车为止,当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符。
参考资料来源:百度百科-getchar()
热心网友 时间:2024-02-25 07:47
getchar()它是这样的热心网友 时间:2024-02-25 07:47
这里的getchar是逐个判断字符!热心网友 时间:2024-02-25 07:48
while((c=getchar())!='\n')热心网友 时间:2024-02-25 07:49
c=getchar()每次接受的仍然是一个字符,但是可以利用while进行循环,循环的条件是getchar()接受的字符不为‘\n’,否则退出循环。