一个函数可以调用另一个函数,作为特例,如果函数调用了自己,就像故事中提到了同样的故事一样,我们把函数在运行时调用自己的情况叫做递归。
递归函数中一定要有递归终止的条件,否则是死递归。
示例:
#include <iostream> // 包含头文件。
using namespace std; // 指定缺省的命名空间。
int f(int x) // 递归函数。
{
if (x == 0) return 0; // 递归终止的条件。
return x + f(x - 1); // 在函数体中调用了自己。
}
int main()
{
cout << "f(100)=" << f(100) << endl;
// 100+99+98+....+1+0
// 嵌套的调用函数 进入函数的过程是递去 函数返回的过程是归来
// 计算从1加到100的和。
int sum = 0; // 存放累加的值。
for (int ii = 1; ii <= 100; ii++)
sum = sum + ii;
cout << "sum=" << sum << endl;
}
![](https://img-blog.csdnimg.cn/img_convert/67dd6304cac4fe69ae2090dc2b8034dc.png)