konoDIOda; 2022-10-25 23:03 采纳率: 95.8%
浏览 73
已结题

#C语言 自定义函数为什么不运行

问题自定义个函数 fun形参m
计算1+1/(2x2)+1/(3x3)+...+1/(m x m)

#include <stdio.h>
int fun(int m)
{
double y=1.0;
int i;
for(i=1;i<=m;i++)
{
y+=1.0/(i*i);
}
return y;
}
int main()
{
int n=5;
printf("%lf",fun(n));
return 0;
}

然后就运行出0.000000
这是为什么?没有语病 哪里出错了

img

  • 写回答

2条回答 默认 最新

  • lzl2040 人工智能领域新星创作者 2022-10-25 23:30
    关注

    fun函数的返回值是一个int类型,但是输出是%lf,所以不对,而且y=0

    #include <stdio.h>
    double fun(int m)
    {
        double y=0.0;
        int i;
        for(i=1;i<=m;i++)
        {
            y+=1.0/(i*i);
        }
        return y;
    }
    int main()
    {
        int n=5;
        printf("%lf",fun(n));
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月7日
  • 已采纳回答 10月30日
  • 创建了问题 10月25日