while ((ch = getchar()) != '#')
putchar(ch);
为什么putchar一次可以把整个字符串都发出来?不是只送一个吗?如果连续用getchar怎么把输入的字符分别发送进去?
给你大概说明原理。可以把缓冲区看作一个有限长度的管道。例如你输入了ABCD ,此时这些字符就被丢进了这里,当你按下回车(就相当于一次性把ABCD这些字符推出了管道外。管道外刚好有一只狗,一口咬住了A(这就是getchar ()) ,然后不好吃就吐了(这就是putchar()) ,实际上动作太快了,你看到的就是吐出来的ABCD
本回答被网友采纳