正常的C getchar / putchar行为是什么?

时间:2019-02-13 08:43:28

标签: c getchar putchar

我正在研究Stephen Prata的“ C Primer Plus”中的练习,并有一个问题。清单8.1:

/* echo.c -- echoes input */
#include <stdio.h>
int main(void)
{
  char ch;

  while ((ch = getchar()) != '#')
    putchar(ch);
  // while ((ch = getchar()) != '.')
  //   putchar(ch);
  return 0;
}

原始代码不包含注释;我添加了它们,它们是我的问题。如果我取消注释这些行,则对输出没有明显的影响。它仍以#符号结尾,而不打印它。没有显示其他文本,我返回到命令提示符。

那是为什么?另外,#是否会消耗getchar()?这就是为什么我包含第二个循环的原因-出于好奇,我试图显示缓冲区中的所有剩余字符。显然,我不知道自己在做什么!

0 个答案:

没有答案