| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1582 人关注过本帖
标题:有关EOF的
取消只看楼主 加入收藏
窗前的茶
Rank: 2
来 自:北京
等 级:论坛游民
帖 子:24
专家分:34
注 册:2016-1-20
结帖率:100%
收藏
已结贴  问题点数:15 回复次数:4 
有关EOF的
这是一个统计字符的程序
程序代码:
#include <stdio.h> 
int main() 
{
     char c; 
     int letter, space, digit, other;
     printf("Input: \n");
     letter = 0; space = 0; digit = 0; other = 0;
     while ((c = getchar()) != EOF)  //没怎么理解
         {
         if (('A' <= c && c <= 'Z') || ('a' <= c && c <= 'z'))
             letter++;
         else if (c == ' ')
             space++;
         else if ('0' <= c && c <= '9')
             digit++;
         else
             other++;
         }
    printf("Output:\n");
    printf("%d %d %d %d\n", letter, space, digit, other);
    return 0;

 
}



本来EOF在的地方是\n,该成EOF后,

比如输入12345
返回的是
0 0 0 0
要是输入12345再回车一下
返回的是
0 0 5 1
当然结束是ctrl+c的,
难道没有回车12345就没有输入进去?
不太明白哎~


[此贴子已经被作者于2016-1-22 18:16编辑过]

搜索更多相关主题的帖子: 统计 letter 
2016-01-22 18:12
窗前的茶
Rank: 2
来 自:北京
等 级:论坛游民
帖 子:24
专家分:34
注 册:2016-1-20
收藏
得分:0 
回复 3楼 zlz66668888
我的意思是输入12345然后ctrl+c结果是0 0 0 0
输入12345再回车,结果是0 0 5 1
2016-01-22 19:14
窗前的茶
Rank: 2
来 自:北京
等 级:论坛游民
帖 子:24
专家分:34
注 册:2016-1-20
收藏
得分:0 
回复 5楼 TonyDeng
也是可以的,那本the c programme language 就经常这样~
比如说:
程序代码:
int main()
{
    int c;
    while ((c=getchar())!=EOF)
        putchar(c);
}
2016-01-22 20:36
窗前的茶
Rank: 2
来 自:北京
等 级:论坛游民
帖 子:24
专家分:34
注 册:2016-1-20
收藏
得分:0 
回复 8楼 TonyDeng
那个,您不要生气哈,你的回答我是认真看了的
不过对于这个问题,我是不太理解的,至少我现在的理解是这样,
输入的内容是放在了缓冲区里,并没有进入程序,回车后就进入了,这是ctrl+c就终止了运行程序。
刚刚开始学习,可能理解方面也有疏漏,请谅解,有些问题可能您看来很弱智,若是耐心解答就太谢谢啦~
2016-01-22 22:45
窗前的茶
Rank: 2
来 自:北京
等 级:论坛游民
帖 子:24
专家分:34
注 册:2016-1-20
收藏
得分:0 
回复 12楼 TonyDeng
谢谢,也许是我理解的不对哈~
不过现在懂了
2016-01-23 20:21
快速回复:有关EOF的
数据加载中...
 
   



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

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