当前位置: 代码迷 >> C语言 >> 可能涉及输入输出流的问题
  详细解决方案

可能涉及输入输出流的问题

热度:139   发布时间:2006-05-28 00:28:00.0
可能涉及输入输出流的问题

请教一个问题,程序如下:

#include "stdio.h"
#include "conio.h"

main()
{
int c;
clrscr();
while ((c=getchar())!=EOF)
putchar(c);
getch();
}

根据程序流程,我原先认为运行结果是:输入一个字符,然后紧接着输出一个字符并判断是否为EOF,如果不是,继续输入一个,输出一个。但实际结果是:一直输入字符直到EOF,然后在把输入的字符一并输出。这是什么原因呢?我觉得有可能涉及输入输出流的问题,但我不是很懂这一块,望指教,谢谢!!!

搜索更多相关的解决方案: 输出  输入  

----------------解决方案--------------------------------------------------------
当你输入字符时,字符被逐个送到输入缓冲区,当遇到回车时才被全部送出(行缓冲)
被putchar(c);依次输出!

当遇到EOF时出循环!


----------------解决方案--------------------------------------------------------
感谢指点,谢谢!!!
----------------解决方案--------------------------------------------------------
getchar
函数原型: int getchar(void)
用途:从标准输入流读取一个字符并回显,读到回车符时退出
返回值:读取的字符

putchar
函数原型:int putchar(int ch)
用途:把字符ch写到标准流stdout中去
返回值:EOF-操作失败,ch值-操作成功
----------------解决方案--------------------------------------------------------
回复:(xiaxia421)getchar函数原型: int getchar(vo...
以下是引用xiaxia421在2006-6-4 23:57:00的发言:
getchar
函数原型: int getchar(void)
用途:从标准输入流读取一个字符并回显,读到回车符时退出
返回值:读取的字符

putchar
函数原型:int putchar(int ch)
用途:把字符ch写到标准流stdout中去
返回值:EOF-操作失败,ch值-操作成功

你的答复是错的。事实上,它们都是参数宏,详见stdio.h


----------------解决方案--------------------------------------------------------
  相关解决方案