| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 389 人关注过本帖
标题:两个计数程序,为什么第一个程序比后一个要大1,计算的结果比输入的数的数目 ...
只看楼主 加入收藏
abc594986308
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:116
注 册:2013-3-18
结帖率:82.93%
收藏
已结贴  问题点数:10 回复次数:4 
两个计数程序,为什么第一个程序比后一个要大1,计算的结果比输入的数的数目大一?
#include<stdio.h>
main()
{
    long nc;
    nc=0;
    while(getchar()!=EOF)
    {
    ++nc;

   
    printf("%ld\n",nc);
    }
}
#include<stdio.h>
main()
{
   double nc;
   for(nc=0;getchar()!=EOF;++nc)
       printf("%.0f\n",nc);
}
搜索更多相关主题的帖子: double 
2013-06-21 18:11
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:10 
你可以把EOF换成 '\n'  因为如果你按了回车键,回车键也会计入

还有  你的printf 语句不用套在循环里面吧...   放在外面比较好

三十年河东,三十年河西,莫欺少年穷!
2013-06-21 18:24
abc594986308
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:116
注 册:2013-3-18
收藏
得分:0 
回复 2楼 韶志
(c = getchar()) != EOF这个东西的作用是什么?另外
 #include <stdio.h>
   #define IN   1  /* inside a word */
   #define OUT  0  /* outside a word */
/* count lines, words, and characters in input */
   main()
   {
       int c, nl, nw, nc, state;
       state = OUT;
       nl = nw = nc = 0;
       while ((c = getchar()) != EOF) {
           ++nc;
           if (c == '\n')
               ++nl;
           if (c == ' ' || c == '\n' || c == '\t')
               state = OUT;
           else if (state == OUT) {
               state = IN;
               ++nw;
           }
       }
       printf("%d %d %d\n", nl, nw, nc);
   }这个程序是用来统计单词数,行数以及字符数的,但是运行时怎么出不来结果啊。。。求指导
2013-06-21 19:13
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:0 
回复 3楼 abc594986308
EOF的值是-1,用来判断是否为文件的结尾 ,如果要用它来作为循环终止条件的话  要按ctrl+z键再按回车(我一般不用)

还有你上面的程序没调试,也没仔细看(我在准备期末考),但有个明显的错误   int c???   c不是字符么?

三十年河东,三十年河西,莫欺少年穷!
2013-06-21 19:51
abc594986308
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:116
注 册:2013-3-18
收藏
得分:0 
回复 4楼 韶志
对哈

[ 本帖最后由 abc594986308 于 2013-6-22 11:10 编辑 ]
2013-06-22 11:09
快速回复:两个计数程序,为什么第一个程序比后一个要大1,计算的结果比输入的数 ...
数据加载中...
 
   



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

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