小白求教大神啊
c4droid吧
全部回复
仅看楼主
level 4
258八戒 楼主
#include <stdio.h>
int Factorial(int x);
int main(void)
{
int a;
scanf("%d",&a);
printf("%d\n",Factorial(a));
return 0;
}
int Factorial(int x)
{
if (x == 1)
return 1;
else
{
return x * Factorial(x-1);
//ERROR return x * Factorial(--x);
//ERROR return x * Factorial(x--);
//为什么后面的两个出错啊
//原因何在啊
//望大神明细啊[太阳] [太阳] [太阳]
}
}
2016年08月23日 09点08分 1
level 9
把2L先删了怎么样?[滑稽]
2016年08月23日 10点08分 4
level 4
258八戒 楼主
为什么
2016年08月23日 10点08分 5
level 11
似乎是这样的,本来是从n,n-1,n-2,...,1就结束了。
你用x--/--x会出现,
存在一个return 1*Factorial(0)的问题。你没有定义返回0的情况,就随便返回了。
2016年08月25日 01点08分 7
应该是x*Factorial()时,x被你真减去了,变成(x-1)*Factorial()了
2016年08月25日 01点08分
level 6
Factorial(x-1)是什么意思
2016年08月25日 04点08分 8
1