这个循环之前肯定还有代码,肯定是输出从键盘上输入的字符的代码,所以,问题可以这样解释,首先,你必须输入一个字符串,然后敲回车,这时,你输入的字符串才被显示在显示器上,然后,程序从你输入的字符串里读取字符,再依次显示在显示器上。所以,就是两个computer.

解决方案 »

  1.   

    '/n'表示回车,在你没有回车之前,就会从buffer(缓冲区)读字符。
    如果你一个字母一个回车,效果就不同了;但是要到达你认为的效果就不是这么简单可以实现的。buffer的概念你可以自己搜索一下,是和内存管理有关,而内存管理是操作系统的理论,提示你这么多相信你自己可以更好的理解了
      

  2.   

    好像getc是直接读?记得有一个flushall是强制性清空缓存
      

  3.   

    如果要你想要的结果就把 getchar()换成 getch()
    getch()是直接读的,getchar()读的必须是回车以后的字符串。