【发布时间】:2013-05-06 11:35:58
【问题描述】:
当在下面的代码中我从main() 调用函数fact() 时,这个fact() 的调用是否涉及fact() 的单个调用堆栈,或者由于fact() 本质上是递归的,它将涉及一个每次递归调用fact() 时都有单独的调用堆栈吗?我是递归的新手,对此一无所知。
#include<stdio.h>
int fact(int);
int main(void)
{
int a=8;
printf("The factorial of 8 is %d",fact(a));
}
int fact(int a)
{
if(a==1)
return 1;
return a*fact(a-1);
}
【问题讨论】: