C语言中getchar()函数

他们说这个函数可以延时,这个是什么原因,有没有大神跟我讲下

getchar 由宏实现:#define getchar() getc(stdin)。
getchar有一个int型的返回值。当程序调用getchar时。程序就等着用户按键。用户输入的字符被存放在键盘缓冲区中。直到用户按回车为止(回车字符也放在缓冲区中)。当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符。getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕。如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取。也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键。
getchar函数的功能是从键盘上输入一个字符。其一般形式为: getchar(); 通常把输入的字符赋予一个字符变量,构成赋值语句,如:
  char c;
c=getchar();
#include<stdio。h>
void main()
  {
char c;
printf("input a character\n");
c=getchar();
putchar(c);
}
使用getchar函数还应注意几个问题:
getchar函数只能接受单个字符,输入数字也按字符处理。输入多于一个字符时,只接收第一个字符。
使用本函数前必须包含文件“stdio.h”。
在TC屏幕下运行含本函数程序时,将退出TC 屏幕进入用户屏幕等待用户输入。输入完毕再返回TC屏幕。
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-09-20
'\n'是回车操作,只要不回车,,括号里始终为逻辑1,while()继续执行,当你输入china后回车,循环就结束了。此外读取一串字符可以用gets函数,书上肯定有。
第2个回答  2019-12-12
这个程序用了个while循环,当getchar()接收到的字符不是'\n'时就可以一直进行。
第3个回答  2014-12-13
比如你输入,abcdef,然后按下回车,按下回车时getchar()才开始执行,而不是你输入一个执行一次,按下回车后先把输入的东西(包括回车)放入缓冲,getchar()写一次从缓冲拿出一个字符,这就是所谓的延迟,O(∩_∩)O谢谢
第4个回答  2014-12-13
让屏幕显示不会一闪而过,你必须输入一个字符,才会继续后面的操作。主要延迟最终结果的显示。
相似回答