int mul(int n)
{
int x = 1;
if(x<=n)
return x*mul(x+1);
else
return 1;
}
int main()
{
int n = 0;
scanf("%d",&n);
int ret = mul(n);
printf("%d\n",ret);
return 0;
}
我这样写为什么得不到我想要的阶乘,而我这样写
int mul(int n)
{
/*int x = 1;
if(x<=n)
return x*mul(x+1);
else
return 1;*/
if(n>=1)
return n*mul(n-1);
else
return 1;
}
int main()
{
int n = 0;
scanf("%d",&n);
int ret = mul(n);
printf("%d\n",ret);
return 0;
}
为什么这样写又可以的出我想要的阶乘?