利用函数求sin 不知道为什么报错

#include<stdio.h>
#include<math.h>
int main()
{
    void sin(float n);
    float fact(float e);
    float a,b,c,n;
    scanf("%f",&n);
    sin(n);
    return 0;
}


void sin(float n)
{
    float j=1,i,p,a;
    double s=0;
    for(i=1;i<=49;i++)
    {
        s=s+pow(-1,i-1)*pow(n,2*i-1)*(1/fact(2*i-1));
    }
    printf("%lf",s);
}
float fact(float e)
{
    float s=1,i;
    for(i=1;i<=e;i++)
    {
        s=s*i;
    }
    return(s);
}

sin 这个函数名和#include<math.h>头文件里的函数是否重名了?另在函数声明那里,float fact(float e)的声明应该放在void sin(float n)声明之前。

math.h 库文件里也包含有一个sin函数的,所以把自己的这个sin改个名sinx。

是哪里重名了呢?