标题:while ((ch = getchar()) != EOF) 为什么字符与ctrl+z之间必须有回车才结束 ...
只看楼主
suishuhao
Rank: 2
等 级:论坛游民
帖 子:89
专家分:10
注 册:2012-9-25
结帖率:61.9%
已结贴  问题点数:2 回复次数:3 
while ((ch = getchar()) != EOF) 为什么字符与ctrl+z之间必须有回车才结束循环,继续执行?
#include <stdio.h>
int main(void)
{
    int ch;

    while ((ch = getchar()) != EOF)
        putchar(ch);
  
    printf("hello\n");
    return 0;
}
为什么输入"happy"后马上敲上ctrl+z,再按回车,不结束程序,
而输入"happy"敲上回车,再敲上ctrl+z,再按回车,才结束程序?

换句话说,为什么字符与ctrl+z之间必须要有回车?????????









搜索更多相关主题的帖子: void include return hello 
2013-02-18 17:10
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
得分:1 
另一贴已经回答,回车后接收走流中的数据,才会响应ctrl+z命令
收到的鲜花
  • suishuhao2013-02-18 17:31 送鲜花  3朵   附言:好文章
2013-02-18 17:20
Susake
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:女儿国的隔壁
等 级:贵宾
威 望:23
帖 子:2288
专家分:6481
注 册:2012-12-14
得分:1 
suoga

仰望星空...........不忘初心!
2013-02-18 17:24
suishuhao
Rank: 2
等 级:论坛游民
帖 子:89
专家分:10
注 册:2012-9-25
得分:0 
我找到答案了:C PRIMER PLUS 第192页:
许多微型计算机系统将一行的开始位置键入的ctrl+z识别为文件尾信号,还有一些则把任意位置的ctrl+z解释成文件尾信号。
2013-02-18 18:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-398747-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.066610 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved