【求助】简单的递归函数理解问题
附件中当输入n为5后,多次调用,当递减到n为1时不是会跳入else if中吗?else if执行不是会返回result=1呀!为什么是5*4*3*2*1
程序代码:#include <stdio.h>
#include <stdlib.h>
int factorial(int n)
{
if (n < 0)
{
printf("输入错误!\n");
return 0;
}
else if (n == 0 || n == 1)
{
return 1;
}
else
{
return factorial(n - 1)*n;
}
}
int main()
{
int n = 5;
printf("%d的阶乘=%d", n, factorial(n));
system("pause");
return 0;
}
