| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 444 人关注过本帖
标题:EOF?????
只看楼主 加入收藏
h1023417614
Rank: 4
等 级:禁止访问
帖 子:211
专家分:237
注 册:2012-11-30
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:7 
EOF?????
int ch;
while((ch=getchar())!=EOF);

到底要按什么键来终止次循环while语句啊
2013-01-21 22:22
h1023417614
Rank: 4
等 级:禁止访问
帖 子:211
专家分:237
注 册:2012-11-30
收藏
得分:0 
只有ctrl+z??
2013-01-21 22:23
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
ctrl+z

DO IT YOURSELF !
2013-01-21 22:23
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:5 
我也觉得很奇怪,如果只有用ctrl+c来结束的话那不是异常终止?
那为什么不用getchar() != '\n'来终止呢?

I have not failed completely
2013-01-21 22:27
ren613
Rank: 3Rank: 3
来 自:宣武
等 级:论坛游侠
帖 子:117
专家分:120
注 册:2012-11-20
收藏
得分:0 
‘\n’的话你输入回车就结束了

天道酬勤
2013-01-23 11:19
lngd083
Rank: 2
等 级:论坛游民
帖 子:3
专家分:13
注 册:2013-1-5
收藏
得分:0 
ctrl+D
2013-01-23 11:40
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
Ctrl+C是MS系操作系统默认中断程序运行的热键,可以被拦截,通知操作系统不要按默认处理这个按键,这个按键是不通过输入缓冲区的,马上执行。Ctrl+Z/Ctrl+D(不同平台对应不同的按键)是输入流结束符,类似cz字符串约定以'\0'结束一样,只在流输入函数中有效,它的作用只是往缓冲区中填入一个字符,流输入函数读到这个字符,就认为那是EOF(即返回EOF给调用者,所以EOF定义成-1并不等于真能通过输入-1来输入EOF,偶然可以通过输入chr(255)来达到目的,不过那是应用程序接受输入时愿意这样才行)。这些都是约定,而且跟平台有关。

[ 本帖最后由 TonyDeng 于 2013-1-23 16:49 编辑 ]

授人以渔,不授人以鱼。
2013-01-23 16:36
沙与沫
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-1-23
收藏
得分:0 
EOF 表示end of file,就是指终止
2013-01-23 16:58
快速回复:EOF?????
数据加载中...
 
   



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

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