#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

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;
}

double和int冲突了