| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1203 人关注过本帖
标题:EOF问题
只看楼主 加入收藏
红金龙
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-11-24
收藏
 问题点数:0 回复次数:9 
EOF问题
#include <stdio.h>
#include <conio.h>
int main(int argc, char *argv[])
{
        int  iChar;
        int  iBlink   =0;
        int  iTab     =0;
        int  iNewLine =0;
        
        while((iChar=getchar()) != EOF)
                {
                if(' ' == iChar)
                        iBlink++;
                if('\t' == iChar)
                        iTab++;
                if('\n' == iChar)
                        iNewLine++;               
                }
        printf("iBlink=%d\n",iBlink);
        printf("iTab=%d\n",iTab);
        printf("iNewLine=%d\n",iNewLine);
         
 getch();
 return 0;
}

这程序是计算所输入的空格,TAB,与新行的个数。
我用的是DEVC++,
我看了stdio.h    EOF定义为-1.
查看getchar()函娄说铵回车时结束输入状态
可是while(((iChar=getchar()) != EOF)这句语句按回车键时根本不退出输入状态。
想知道为什么
搜索更多相关主题的帖子: EOF 
2007-11-24 14:45
zhb_ice
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2007-10-6
收藏
得分:0 
windows下面好像是ctrl+z表示EOF 手边没有编译器 没法试 好像是

2007-11-24 15:07
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
回车是13啊

从BFS(Breadth First Study)到DFS(Depth First Study)
2007-11-24 15:13
红金龙
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-11-24
收藏
得分:0 
多谢ctrl+z的确可以退出循环。

iChar=getchar()) != EOF
可是改成
iChar=getchar())==EOF
一回成就退出循环了
2007-11-24 15:22
kidd2005
Rank: 1
等 级:新手上路
帖 子:193
专家分:0
注 册:2007-11-2
收藏
得分:0 
不用EOF可以做到那个效果吗?

潜心苦C,却发觉百C不得其解啊~
2007-11-24 19:43
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
while((iChar=getchar()) != EOF)
 /* 循环到文件结尾,win 命令行下 Ctrl + Z  */

回车怎么可能是文件结尾呢!

如果要回车退出循环的话,如下:
while((iChar = getchar()) != '\n')

—>〉Sun〈<—
2007-11-25 10:01
diaoxue
Rank: 1
等 级:新手上路
帖 子:142
专家分:0
注 册:2007-6-1
收藏
得分:0 
在VC6.0里不行啊

上善若水,水善利万物而不争,处众人之所恶
2007-11-25 11:09
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
iChar=getchar())==EOF
一回成就退出循环了

意思是输入EOF循环才进行````你按的回车``当不是EOF``循环当然要退出了啊`

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-11-25 15:15
狂人老大
Rank: 1
来 自:杭州
等 级:新手上路
威 望:1
帖 子:394
专家分:0
注 册:2007-6-21
收藏
得分:0 
ctrl+z是可以的   不过也可以用F6+Z退出的

ACMer的QQ群:33741351
单片机QQ群:55130117
2007-11-26 12:56
josen0205
Rank: 2
来 自:江苏
等 级:论坛游民
帖 子:307
专家分:52
注 册:2007-5-8
收藏
得分:0 
可以按ESC推出啊
定义一个宏
#define ESC '\033'

只有想不到,没有做不到
2007-11-26 14:19
快速回复:EOF问题
数据加载中...
 
   



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

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