标题: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



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




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

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