程序无错误但是输出结果不对

问题遇到的现象和发生背景

编写程序求表达式s=x/2!+x(3次方)/4!+……+x(2n-1次方)/(2n)!的值。要求:变量x与n的值在主函数输入,通过调用函数求出s的值并打印输出

问题相关代码,请勿粘贴截图
#include<stdio.h>
#include<math.h>
int main()
{float sum(int n,int x);
int n,x;
printf("请输入x和n的值:\n");
scanf("%d%d",&n,&x);
printf("%f\n",sum);
return 0;
}

float sum(int n,int x)
{int i,j,m;
 float sum;
    for(i=2;i<=2*n;i+=2){
    m=2;j=1;
    while(j<=i){
        m=m*j;
        j++;
    sum+=pow(x,2*n-1)/m;}
    }
    return 0;

运行结果及报错内容

0.000000

我的解答思路和尝试过的方法

通过调用函数来求x的几次方,但是好像不太对。

我想要达到的结果

能够正确输出

printf("%f\n",sum(n,x);