程序分析一下,你就知道为什么了。
ch=getchar();//取得一个字符
while(ch!='*')//只要取得的字符不是“*”,那就执行循环体内的语句。
{
putchar(ch);//输出字符
ch=getchar();//再次取得字符【因为你输入的abc符合循环条件,所以每次输出一个字符后,又调用了一次getchar()函数,再次取得字符,然后判断循环条件,再次输出字符,再次获得字符,如此循环,直到你输入了字符*,才会调用getch();函数】
}
这个不是所见即所得
因为你输入的这一串字符会被送入一个叫做缓冲区的地方,当遇到空白字符(空格,制表符,换行)才会进行缓冲区的刷新,那时候结果才会显示出来
因为有while 循环啊.
你可以c=getchar();
putchar(c);这样每次输入一个,输出一个