我正在 w3schools 上的 cpp 中经历这个递归程序。
#include <iostream>
using namespace std;
int sum(int k) {
if (k > 0) {
return k + sum(k - 1);
} else {
return 0;
}
}
int main() {
int result = sum(10);
cout << result;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
上面的递归函数中有一个条件块。0假设它最终会转到“else”块,则将从函数返回的值。然而,令我困惑的是函数调用如何sum(10)正常工作而不仅仅是返回0.
有人可以向我解释一下递归吗?