标题:菜鸟问个很简单的问题,高手来看下吧,谢谢了!
只看楼主
Yeechengleen
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-6-23
结帖率:50%
已结贴  问题点数:20 回复次数:10 
菜鸟问个很简单的问题,高手来看下吧,谢谢了!
#include <stdio.h>
#include <stdlib.h>

int main()
{
      long nc;
      for(nc=0;getchar()!=EOF;++nc)
      ;
      printf("%ld\n",nc);
      system("pause");
}
我写这段程序字符计数,为什么打印不出数字呢?谢谢高手指教!
搜索更多相关主题的帖子: 计数 long include system 
2011-06-23 21:52
木头lbj
Rank: 7Rank: 7Rank: 7
来 自:黄山
等 级:黑侠
威 望:1
帖 子:269
专家分:527
注 册:2010-11-6
得分:3 
getchar()不能这么用吧

。。。!!!)))000
2011-06-23 22:07
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
得分:3 
模拟文件结尾加上了吗?

My life is brilliant
2011-06-23 22:20
Yeechengleen
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-6-23
得分:0 
啊3楼的能说明确点吗?我刚学c 啊!!!
2011-06-23 22:28
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
得分:3 
按 Ctrl-Z
ps:仅限于 cmd

[ 本帖最后由 voidx 于 2011-6-23 23:06 编辑 ]
2011-06-23 22:35
lwlls668
Rank: 2
等 级:论坛游民
帖 子:59
专家分:72
注 册:2010-4-9
得分:3 
把EOF 改为“\n”或别的什么结束标志吧
EOF 这个值是“-1”   
而getchar会把它当成“-”“1”两个字符···
2011-06-23 23:27
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
得分:0 
回复 6楼 lwlls668
。。。 在 cmd 里按 Ctrl-Z 就是 EOF 了

你竟然能想到输入 -1,计算机才不会被你骗到
2011-06-23 23:31
韭菜
Rank: 2
等 级:论坛游民
帖 子:51
专家分:94
注 册:2010-9-26
得分:3 
楼主  你的程序缓冲区残留  我修改了下
程序代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
      long nc;
      for(nc=0;getchar()!=EOF;++nc)
        while(getchar()!='\n');
      printf("%ld\n",nc);
      system("pause");
}
测试结果为:
asd
qw
dw
^Z         //这里就是ctrl+z
3
请按任意键继续. . .


2011-06-24 10:31
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
得分:3 
我晕!
楼主还是老老实实的用循环和scanf吧
2011-06-24 10:46
Yeechengleen
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-6-23
得分:0 
我看的书里介绍EOF不是表示输入字符的结束嘛?我的意思是当输入没结束时++nc,结束了就结束了,为什么不能实现。。。
2011-06-24 23:13



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




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

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