当我在下面的代码中调用函数fact()
时main()
,此调用是否会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);
}