| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 378 人关注过本帖
标题:求助:字符统计
只看楼主 加入收藏
荣荣biu
Rank: 1
等 级:新手上路
帖 子:18
专家分:1
注 册:2013-6-3
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:9 
求助:字符统计
真诚求救:程序如下:
#include<stdio.h>
main()
{
long num;
num=0;
while(getchar()!=EOF)
++num;
printf("%ld\n",num)
}

程序功能很简单,完成输入字符计数,但是运行之后好像始终结束不了,完成不了计数功能。求哪位大神帮忙解释一下,还有EOF到底是什么东西啊?万分感激不尽T^T
搜索更多相关主题的帖子: 统计 
2014-03-25 18:38
ying8501
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:1092
专家分:1446
注 册:2008-11-24
收藏
得分:4 
#include<stdio.h>
main()
{
long num;
num=0;
while(getchar()!='\n')
++num;
printf("%ld\n",num)
2014-03-25 18:44
时间都去哪了
Rank: 1
等 级:新手上路
帖 子:1
专家分:4
注 册:2014-3-25
收藏
得分:4 
EOF是常量,值是-1,scanf函数如果读不到值的话返回值就是-1,程序不会结束的原因是你没有输入EOF,如果是在某些练题网站上,编译环境是会自动输入EOF的
2014-03-25 21:43
aiyameili
Rank: 2
等 级:论坛游民
帖 子:16
专家分:14
注 册:2013-8-25
收藏
得分:4 
我刚开始学,都还没你学的远!
2014-03-25 21:55
荣荣biu
Rank: 1
等 级:新手上路
帖 子:18
专家分:1
注 册:2013-6-3
收藏
得分:0 
回复 2楼 ying8501
我加入EOF试过,还是检测不到结束,好像只是把EOF当成字符了,如果作为结束标志开始计数,选什么好啊?
2014-03-25 22:57
荣荣biu
Rank: 1
等 级:新手上路
帖 子:18
专家分:1
注 册:2013-6-3
收藏
得分:0 
回复 2楼 ying8501
这样的话就会把换行当成是结束标志啊,但是有些时候换行之后仍然会有字符的怎么办呢
2014-03-25 22:58
fl8962
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:539
专家分:2471
注 册:2012-10-17
收藏
得分:4 
EOF CTRL+D

想抽苏烟了。
2014-03-25 23:00
fl8962
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:539
专家分:2471
注 册:2012-10-17
收藏
得分:0 
回复 楼主 荣荣biu
输入完字符后 ctrl+d结束输入,返回字符个数。

想抽苏烟了。
2014-03-26 02:17
ying8501
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:1092
专家分:1446
注 册:2008-11-24
收藏
得分:0 
如果输入多行,不改你的程序,按 ctrl+z 结束也行。

另,printf后面少了个分号别忘了加上。
2014-03-26 07:37
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:4 
windows: ctrl+z
linux: ctrl+d
记得回车
这个平台系统的操作知识,和C语言是无关的。
2014-03-26 08:29
快速回复:求助:字符统计
数据加载中...
 
   



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

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