大一综合应用c语言中的疑问

用递归的方法求n阶勒让德多项式的值
#include

#include
#include
double fun(int);
int main()
{
int n;
printf("n的值是");
scanf("%d",&n);
printf("Pn(x)的值是%lf",fun(n));
return 0;
}
double fun(int n)
{
double x,s;
int i;
printf("x的值是");
scanf("%lf",&x);
if(n<0)
{
printf("数据错误");
}
else if(n=0)
{
return 1;
}
else if(n=1)
{
return x;
}
else
{
for(i=1;i<=n;i++)
{
s=((2*n-1)xfun(n-1)-(n-1)*fun(n-2))/n;
}
return s;
}
}

永远是x值
改变条件语句还是不行
用递归的方法求n阶勒让德多项式的值

else if(n=0) 这里应该是n==0,后面else if(n=1)也是一样,应该是n==1,这才是判断是否相等

修改完判断语句后输出n=5,x=10结果输出不了