#include <stdio.h>
#include <stdlib.h>
int fat(int a)
{
int result;
if(a==1)
{
result = 1;
}
else
{
result = fat(a-1) * a;
printf("%d\n",a);
}
return (result);
}
int main(void)
{
int num1, sum;
printf("Input a number:");
scanf("%d",&num1);
sum = fat(num1);
printf("number:%d\n", sum);
system("pause");
return(0);
}
运行结果:
递归函数进行自调用时占用太多资源,
调用顺序(详细解释一下流程如下):