C++之函数的嵌套调用和递归调用

函数的嵌套调用:函数中调用函数,结构图如下所示,为什么函数的嵌套调用能够有精准地返回值,
这是因为函数调用用栈保存了当前现场以及返回地址。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;

}