【求助】简单的递归函数理解问题
附件中当输入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; }