为什么这个程序不能一次打印一个字符?

时间:2016-02-09 06:54:06

标签: c kernighan-and-ritchie

我正在阅读K& R的C编程语言,并且遇到了这段代码:

main()
{
  int c;

  while ((c=getchar()) != EOF)
    putchar(c);
}

我理解上述代码在getchar()stdin获取字符后立即打印一个字符的原因是因为stdin仅发送用户点击Enter后输入到程序的输入缓冲区

但是,函数getchar()仍然从输入缓冲区一次读取一个字符,并将所述字符传递给putchar()进行打印。为什么没有putchar()在获得该字符后立即打印该字符?它是否还在打印前等待newline字符,并将所有内容存储在自己的缓冲区中?

0 个答案:

没有答案