用循环让scanf函数输入字符串的问题
     各位大神,小弟请教一个问题,代码如下:
  1 #include<stdio.h>
  2 #include<unistd.h>
  3 int main()
  4 {
  5     char ch;
  7     printf("请输入一些列字符:");
  8     while(1)
  9     {
 10         scanf("%c",&ch);
 11         if(ch=='\n')
 12             break;
 13         printf("%c",ch);
 15         sleep(3);
 16     }
 19     return 0;
 20 }
在linux下运行,现在假如输入abcd,程序会等待12秒后,直接输出abcd;输出abcd时字母之间没有停顿3秒。。
如果将第13行printf函数中加一个'\n',
即将第13行改为printf("%c\n",ch)后,程序会先输出a,换行然后等待3秒输出b,换行再等3秒输出c,换行等3秒输出d。
请问一下大神为什么有这种区别?麻烦帮忙解决一下我的疑问,先谢谢各位大神了。