第1个回答 2013-10-23
程序分析一下,你就知道为什么了。
ch=getchar();//取得一个字符
while(ch!='*')//只要取得的字符不是“*”,那就执行循环体内的语句。
{ putchar(ch);//输出字符
ch=getchar();//再次取得字符【因为你输入的abc符合循环条件,所以每次输出一个字符后,又调用了一次getchar()函数,再次取得字符,然后判断循环条件,再次输出字符,再次获得字符,如此循环,直到你输入了字符*,才会调用getch();函数】
}本回答被提问者采纳
第2个回答 2013-10-23
根本的原因是 getchar是从键盘缓冲区去拿的一个字母
也就是说你输入 abc 然后回车,abc都在键盘的缓冲区了
只要键盘缓冲区有东西,getchar就能获取到输入,所以就能循环
第3个回答 2013-10-23
在while语句中啊,只要后面输入内容不为*,就会一直循环输入输出