JILAU_WHO_AM_I_Q234
2019-07-06 15:26
采纳率: 81.5%
浏览 559

谁能帮我解答一下这个C语言变量类型冲突问题?

先上代码

#include <stdio.h>
#include <ctype.h>
#include <stdbool.h>
double _COUNT_LETTERS_AND_WOEDS(void);
int main(void)
{
     printf("%5f \n",_COUNT_LETTERS_AND_WORDS());
     return 0;
}
double _COUNT_LETTERS_AND_WORDS(void)
{
    char ch;
    double words = 0;
    double letters = 0;
    bool inword = false;
    while((ch = getchar()) != EOF)
    {
        if((!isspace(ch) && !inword) && !ispunct(ch))
        {
            words++;
            inword = true;
        }
        if((isspace(ch) && inword) && ispunct(ch))
        inword = false;
        if(!isspace(ch) && !ispunct(ch))
        letters++;
    }
    return letters/words;
}

这是一个计算字符与单词的程序 函数返回每个单词的平均字符数。
图片说明
我不太明白那个报错函数类型冲突是为什么?还有函数的隐式声明?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • weixin_45367964 2019-07-06 15:40
    已采纳

    第四行 , 把 double _COUNT_LETTERS_AND_WOEDS(void); 改成 double _COUNT_LETTERS_AND_WORDS (void);

    这里是你打错了, WORDS 打成了 WOEDS;

    再把定义里的(第12行)括号里的 void 删掉。

    这部分有些编译器会报错,提示你参数出错。

    以上

    评论
    解决 无用
    打赏 举报
查看更多回答(3条)

相关推荐 更多相似问题