xiaohu168888 发表于 2015-12-15 18:45:57

error C2084: function 'long __cdecl square(int )' already has a body

#include<stdio.h>
long square(int p)
long factorial(int q)
void main()
{
        int i;
        long s = 0;
        for(i = 2; i <= 3;i++)
        {
                s = s + square(i);
        }
        printf("%ld\n",s);
}
long square(int p)
{
        int k;
        long j;
        long factorial(int);
        k = p * p;
        j = factorial(k);
        return j;
}

long factorial(int q)
{
        int x;
        long c = 1;
        for (x=1;x <= q;x++)
        {
                c = c * x;
        }
        return c;
}


错误代码提示error C2084: function 'long __cdecl square(int )' already has a body 这个是我看教程上做的啊,都三天了还没有搞定,麻烦知道的大神告诉我这个菜鸟下,感谢了。。

黑龍 发表于 2015-12-15 21:00:07

long square(int p)
long factorial(int q)
少分号

黑龍 发表于 2015-12-15 21:01:21

声明函数怎么声明了两个一样的。。。

黑龍 发表于 2015-12-15 21:06:10

本帖最后由 黑龍 于 2015-12-15 21:12 编辑

#include<stdio.h>
long square(int p);
long factorial(int q);
int main(void)
{
      int i;
      long s = 0;
      for(i = 2; i <= 3;i++)
      {
                s = s + square(i);
      }
      printf("%ld\n",s);
                getchar();
}
long square(int p)
{
      int k;
      long j;
      k = p * p;
      j = factorial(k);
      return j;
}

long factorial(int q)
{
      int x;
      long c = 1;
      for (x=1;x <= q;x++)
      {
                c = c * x;
      }
      return c;
}

修改后的 我在VS环境下编译时没有问题的

输出结果为:362904
不知是不是楼主想要的

xiaohu168888 发表于 2015-12-15 21:24:10

黑龍 发表于 2015-12-15 21:00
long square(int p)
long factorial(int q)
少分号

版主一针见血啊,谢谢了,搞了这么久,版主三个字就搞定了。佩服,佩服。

xiaohu168888 发表于 2015-12-15 21:26:31

黑龍 发表于 2015-12-15 21:06
修改后的 我在VS环境下编译时没有问题的

输出结果为:362904


谢谢版本的全力回复,有了你,让我们这些菜鸟又进了一步,真心感谢。

黑龍 发表于 2015-12-15 21:34:49

xiaohu168888 发表于 2015-12-15 21:24
版主一针见血啊,谢谢了,搞了这么久,版主三个字就搞定了。佩服,佩服。

不至于吧 你们可能比我还厉害....... 其实我很菜鸟的

黑龍 发表于 2015-12-15 21:38:34

还有 float转int可能会丢失精度 比如float的111.111(只保留了三位小数)转到int只有111

xiaohu168888 发表于 2015-12-15 21:44:08

黑龍 发表于 2015-12-15 21:34
不至于吧 你们可能比我还厉害....... 其实我很菜鸟的

真的,我学C不到两周,希望以后能向你多多请教。谢谢了。

xiaohu168888 发表于 2015-12-15 21:44:56

黑龍 发表于 2015-12-15 21:38
还有 float转int可能会丢失精度 比如float的111.111(只保留了三位小数)转到int只有111

恩,谢谢你的指点。

黑龍 发表于 2015-12-15 21:46:05

我差不多两周左右,我也不能算大牛,太难就完蛋了

xiaohu168888 发表于 2015-12-15 21:49:41

黑龍 发表于 2015-12-15 21:46
我差不多两周左右,我也不能算大牛,太难就完蛋了

版主这样说就有点谦虚了哦,都是版主了才两周?

黑龍 发表于 2015-12-15 21:54:20

xiaohu168888 发表于 2015-12-15 21:49
版主这样说就有点谦虚了哦,都是版主了才两周?

真的:sad

黑龍 发表于 2015-12-15 21:54:35

我是e版主
页: [1]
查看完整版本: error C2084: function 'long __cdecl square(int )' already has a body