| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 18189 人关注过本帖
标题:In function ‘main’问题
只看楼主 加入收藏
螺旋剑
Rank: 1
等 级:新手上路
帖 子:7
专家分:1
注 册:2010-3-31
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
In function ‘main’问题
#include <stdio.h>
#include <ctype.h>              //为isspace()提供函数原型
#include <stdbool.h>            //为bool、true、和false提供定义
#define STOP  '|'
int main(void)
{
   char c;
   char prev;
   long n_chars=0;
   int n_lines=0;
   int n_words=0;
   int p_lines=0;
   bool inword=false;           //如果C在一个单词中,则inword等于true
   printf("Please enter text to be analyzed(| to terminate): \n");
   prev='\n';                   //用于识别完整行
   while((c=getchar())!=STOP)
   {
        n_chars++;
        if(c=='\n')
            n_lines++;
        if(!isspace && !inword)
        {
            inword=true;        //开始一个心单词
            n_words++;
        }
        if(isspace && inword)
            inword=false;
        prev=c;
   }
   if(prev!='\n')
       p_lines=1;
   printf("characters=%d,words=%d,lines=%d,",n_chars,n_words,n_lines);
   printf("partial lines=%d.\n",p_lines);
   return 0;
}
输入:
Tom is
a man.
|
输出结果:characters=15,words=0,lines=2,partial lines=0.为什么words=0呢??我是在linux下的GCC中编译的,谢谢高手指点下哈!!!再次感谢哈!!!
搜索更多相关主题的帖子: main function 
2010-04-10 15:36
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:10 
if(!isspace(c) && !inword)
{
    inword=true;        // 开始一个心单词
    n_words++;
}
if(isspace(c) && inword)
编译的时候应该会有警告才对呀
2010-04-10 16:00
螺旋剑
Rank: 1
等 级:新手上路
帖 子:7
专家分:1
注 册:2010-3-31
收藏
得分:0 
高手不好意思没的警告的,就只有这个警告:wordcnt.c:32: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘long int’
2010-04-11 16:55
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:10 
回复 3楼 螺旋剑
我用的也是gcc编译器,版本号 gcc 版本 4.1.2,有如下警告:
在函数 ‘main’ 中:
4.c:21: 警告:‘isspace’ 的地址总是等价为 ‘true’
4.c:26: 警告:‘isspace’ 的地址总是等价为 ‘true’
isspace是函数,你用它的值肯定是不为零的数(isspace的地址),则!isspace的值肯定为假

改成2楼那样,把它的参数加上去(估计这才是你想要写成的样子,是不是忘记写了,然后又没有提示,运行结果就错了),运行结果就正确了
2010-04-12 09:07
螺旋剑
Rank: 1
等 级:新手上路
帖 子:7
专家分:1
注 册:2010-3-31
收藏
得分:0 
太感谢你了啊!!!
2010-04-12 22:30
快速回复:In function ‘main’问题
数据加载中...
 
   



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

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