求助,阶乘递归的问题实在搞不懂
#include <stdio.h>long recursion(int n);
void main()
{
int n;
long result;
printf("input a interger number:\n");
scanf("%d",&n);
result = recursion(n);
printf("%d! = %ld \n",n,result);
}
long recursion(int n)
{
long temp;
if (n < 0)
{
printf("n < 0,input error!\n");
}
else if (n == 0 || n == 1)
{
temp = 1;
}
else
{
temp = recursion(n - 1) * n;
}
return temp;
}
为什么当n=1的时候temp要等于1?temp等于1之后就执行return temp这一行代码,这时的temp还是不是1?
http://bbs.fishc.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 jrvf的微博 1和0的阶层不都等于1吗?n=1,temp不就是1吗?:dizzy:
页:
[1]