| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1201 人关注过本帖
标题:EOF问题
取消只看楼主 加入收藏
红金龙
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-11-24
收藏
 问题点数:0 回复次数:1 
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
红金龙
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-11-24
收藏
得分:0 
多谢ctrl+z的确可以退出循环。

iChar=getchar()) != EOF
可是改成
iChar=getchar())==EOF
一回成就退出循环了
2007-11-24 15:22
快速回复:EOF问题
数据加载中...
 
   



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

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