关于getchar()和putchar()两个函数的问题

getch()只能得到一个字符,putch()也只能输出一个字符
但:
ch=getchar()
while(ch=!#)
{putchar(ch);
getchar();
}
这样写,为什么getchar就能读入一连串的数据了
如我输入,ABC,在执行putchar(ch)时就可以看到输出ABC,但不是每次只能读入和输入一个字符吗?这里为什么可以输入输出3个

还有如下
ch=getchar();
while(ch!='!')
{
putchar(ch);getchar();

}
这样该后,还是在putchar(ch)中会输出一段字符串,而且这个一段字符串和ch中的第一个字符是一样的并且会比输入时多出一个字长,为什么?
第一个问题免了,答第二个问题就行

第一段程序 你进入while的循环体
先执行了 put 输出 又继续 get 函数

这两个操作执行的速度很快,再加上会有循环体的操作

所以让你感觉

变成了可以 读入 字符串了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-02-08
循环

- 周而复始
第2个回答  2009-02-09
putchar(ch);getchar();
应该改成putchar(ch);ch=getchar();
这样就可以了
不加ch=的话 getchar的返回值不知道返回到哪去了..
相似回答