回复 9# 的帖子
呵呵,没什么啦~~这程序本是一道选择题,有点难为人的意思,可我现在还是想不通,如果只输入小于6个数的字符,却又会进行循环,直到总共输完6个字符为止。可getchar()和putchar()不是仅限一个字符吗?怎么会没有循环而一次性输入输出呢?? ----------------解决方案--------------------------------------------------------
书上说是按Enter键后将数据送入内存缓冲区的,大概是在第一个getchar()后要有Enter才将数据一起送入内存缓冲区,再执行putchar(),然后循环从内存缓冲区读数据然后输出的吧,这是我的理解,不知道对不对
----------------解决方案--------------------------------------------------------
getchar()缓冲回显,LZ一次输入N个字符,按下ENTER后,getchar()才从缓冲区一个一个读取,读够6个就会退出。
论坛中有相应的贴子
[[it] 本帖最后由 now 于 2008-3-30 22:22 编辑 [/it]]
----------------解决方案--------------------------------------------------------
你输入一个字符回一次车不就够了
----------------解决方案--------------------------------------------------------
不过回车也算一个字符 最好将回车的情况用if语句舍去
----------------解决方案--------------------------------------------------------
回复 13# 的帖子
终于明白了~~谢谢13楼。。 ----------------解决方案--------------------------------------------------------
这样可能是你的意思
#include "stdio.h"void main()
{
int i;char c;
for(i=0;i<=5;i++)
{
c=getche();
putchar(c);
}
getch();
}
----------------解决方案--------------------------------------------------------