标题:关于EOF的结束问题
只看楼主
wuchaoyu673
Rank: 2
等 级:论坛游民
帖 子:22
专家分:16
注 册:2010-3-14
结帖率:100%
已结贴  问题点数:20 回复次数:8 
关于EOF的结束问题
我运行这个获取大小写字幕的小程序,总是打不出内容。除非刚开始就输入ctrl+z,但输入其他字符再加ctrl+z则没有
#include <stdio.h>
void main()
{
    int upcase=0,lowcase=0;
    char ch;
    while((ch=getchar())!=EOF)
    {
        if (ch<='Z'&&ch>='A')
        upcase++;
        if(ch<='z'&&ch>='a')
        lowcase++;
    }
    printf("the number of up case is %d,the number of lowcase is%d.\n",upcase,lowcase);
}
搜索更多相关主题的帖子: EOF 结束 
2010-10-29 21:26
NoSoul
Rank: 9Rank: 9Rank: 9
来 自:沈阳化工大学
等 级:蜘蛛侠
帖 子:283
专家分:1010
注 册:2009-6-6
得分:4 
手动输入变量:
#include <stdio.h>
int main()
{
    int upcase=0,lowcase=0;
    char ch;
    while((ch=getchar())!=EOF)
    {
        if(ch=='#')
            break;
        if (ch<='Z'&&ch>='A')
            upcase++;
        if(ch<='z'&&ch>='a')
            lowcase++;
        getchar();
    }
    printf("the number of up case is %d,the number of lowcase is%d.\n",upcase,lowcase);
    return 0;
}
文件读取变量:
#include <stdio.h>
int main()
{
    freopen("IO.txt","r",stdin);//把IO.txt 换成你的存储变量的txt就行
    int upcase=0,lowcase=0;
    char ch;
    while((ch=getchar())!=EOF)
    {
        if(ch=='#')
            break;
        if (ch<='Z'&&ch>='A')
            upcase++;
        if(ch<='z'&&ch>='a')
            lowcase++;
    }
    printf("the number of up case is %d,the number of lowcase is%d.\n",upcase,lowcase);
    return 0;
}
收到的鲜花
  • wuchaoyu6732010-10-29 21:46 送鲜花  5朵  

我想伸手拉近點,竟觸不到那邊,就欠一點點,但這一點點...卻好遠
2010-10-29 21:35
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
得分:4 
很多人不知道 EOF是怎么回事 /

我就是真命天子,顺我者生,逆我者死!
2010-10-29 21:35
m21wo
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:4
帖 子:440
专家分:1905
注 册:2010-9-23
得分:4 
没什么问题啊 !看截图
收到的鲜花
  • wuchaoyu6732010-10-29 21:46 送鲜花  5朵  

If You Want Something, Go Get It, Period.
2010-10-29 21:36
wuchaoyu673
Rank: 2
等 级:论坛游民
帖 子:22
专家分:16
注 册:2010-3-14
得分:0 
回复 4楼 m21wo
那为什么不能够在一行中呢?如输入nagjkbh 外加ctrl+z。难道在数据流中ctrl+z是^z?
2010-10-29 21:41
st_win
Rank: 2
等 级:论坛游民
帖 子:48
专家分:35
注 册:2010-9-19
得分:4 
我试了一下程序输入字符然后ctrl+z 结束 显示正常啊
2010-10-29 21:41
makebest
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:658
专家分:962
注 册:2005-3-17
得分:4 
ctrl-z 这个按键是控制台输入的时候用来标识输入结束的, 必须在一行的第一个才有效, 否则作为输入的字符处理.
打不出内容是因为刚打出来程序就结束了, 在 cmd 窗口运行就看到了.
收到的鲜花
  • wuchaoyu6732010-10-29 21:45 送鲜花  5朵  
2010-10-29 21:43
wuchaoyu673
Rank: 2
等 级:论坛游民
帖 子:22
专家分:16
注 册:2010-3-14
得分:0 
回复 2楼 NoSoul
谢谢啊!!我是新手。你的代码我不是很懂
2010-10-29 21:43
wuchaoyu673
Rank: 2
等 级:论坛游民
帖 子:22
专家分:16
注 册:2010-3-14
得分:0 
回复 7楼 makebest
哦,原来是这样 我说呢!
2010-10-29 21:45



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




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

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