| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 577 人关注过本帖
标题:[求助]关于EOF
只看楼主 加入收藏
ptr
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-7-19
收藏
 问题点数:0 回复次数:2 
[求助]关于EOF

一直有细节上的问题让我模糊,请帮帮忙.
  关于EOF,很清楚,我的理解一直都是END OF FILE,在头文件<stdio.h>中定义,是一个整形数,其值经过测试也知道是-1.
  然后,在如下程序段中,

while((c=getchar())!=EOF)
purchar(c;)

也就是说,c如果遇到EOF的话,则循环停止,很明显C是一个char类型,如果输入是1,对于C来说并不是数值上的1,应该是'1',相当于整数的49吧. 

  但是在实际应用中,在命令行下若要退出上面循环,我们输入的应该是CTRL+Z.在我平时应用中,一般用'#'等不经常用的来作为循环结束标志.
  那么EOF在实际应用中应该在文件中起作用吧.那么,这个EOF的标记是系统自动添加的吗?如同字符串数组中末尾的'\0'?能不能举例来说明下?
  另外,其整数的值对应的为-1,那么ctrl+z与这个-1有关系吗?我所知道的ASC11字符集中都是0-127啊.
  
  可能问题简单,请指教下~

[此贴子已经被作者于2006-7-22 11:11:24编辑过]

搜索更多相关主题的帖子: EOF 整形 定义 整数 
2006-07-22 10:59
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-22 11:24
ptr
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-7-19
收藏
得分:0 

  明白了,谢谢楼上,我一时傻了,EOF是getchar的返回址,我一直竟然以为EOF是GETCHAR读入值.-1哪能跟ctrl+z有上关系?
  26的ASCII码值是sub,以前不知道是通过ctrl+z输入的~

2006-07-22 11:34
快速回复:[求助]关于EOF
数据加载中...
 
   



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

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