递归可视化
逐步演示 C++ 递归函数如何调用自身:阶乘的调用栈和斐波那契的调用树。
所有内容均在此浏览器中模拟,不会发送到任何服务器。
调用 factorial(4)
调用次数:1 · factorial(4) = 24
调用 factorial(4)
调用栈
factorial(4)?
- 运行中
- 等待中
- 已完成
第 1 / 16 步
代码
#include <iostream>
using namespace std;
long factorial(int n) { // 递归计算 n!
if (n == 0) return 1; // 基本情况:0! 等于 1,不再继续调用
long r = n * factorial(n - 1); // 递归情况:用 n - 1 调用并相乘
return r; // 将结果返回给调用者
}
int main() {
int n = 4; // 这是滑块的值
long resultado = factorial(n); // 首次调用,来自 main
cout << resultado << endl; // 最终结果
return 0;
}