C++语言程序设计

下面是用第一个定义计算阶乘的C++函数，它是用循环来实现的：
int Factorial(int n)
{
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
下面再看看用阶乘的第二个定义计算阶乘的C++函数：
int RecursiveFactorial(int n) {
if (n == 0)
return 1;
else return n * RecursiveFactorial(n - 1);
}
RecursiveFactorial函数的结构具有一定的通用性，所有递归调用的函数的结构都是一样的：
（1） 要有递归终止条件检查，RecursiveFactorial递归终止的条件是n=0。
（2） 如果不满足递归终止的条件，则返回涉及递归调用的表达式。在RecursiveFactorial函数中，返回的表达式是：n * RecursiveFactorial(n - 1)。
图5-8给出了函数RecursiveFactorial计算3!的过程：