为什么两个函数在输入11 4的输出结果不同 int和long的区别不是范围比较大吗 为什么输出结果不同
#include<stdio.h>
int a(int n,int x)
{
if(n==0)
return 1;
if(n==1)
return x;
if(n>1)
return a(n-1,x)(2n-1)-(n-1)*a(n-2,x)/n;
}
int main(void)
{
int n,x;
scanf("%d %d",&n,&x);
printf("%ld",a(n,x));
}
分割线
#include<stdio.h>
long a(int n,int x)
{
if(n==0)
return 1;
if(n==1)
return x;
if(n>1)
return a(n-1,x)(2n-1)-(n-1)*a(n-2,x)/n;
}
int main(void)
{
int n,x;
scanf("%d %d",&n,&x);
printf("%ld",a(n,x));
}