C++之函数的嵌套调用和递归调用
函数的嵌套调用:函数中调用函数,结构图如下所示,为什么函数的嵌套调用能够有精准地返回值,
这是因为函数调用用栈保存了当前现场以及返回地址。
函数的递归调用:函数自身调用自身,使用函数的递归调用实现n!:
#include<iostream>
using namespace std;
//函数调用实例
unsigned fac(unsigned n) {
unsigned f;
if (n == 0)
f = 1;
else
f = fac(n - 1)*n;
return f;
}
int main()
{
unsigned n;
cout << "enter a positive integer: ";
cin >> n;
unsigned y = fac(n);
cout << n << "!" <<" = "<< y << endl;
system("pause");
return 0;
}