考虑计算10的乘阶即:10!的结果
代码如下:
#include <iostream>
using namespace std;
//程序阅读小技巧:
//阅读代码的时候,要先找到main函数,因为main函数是程序入口函数
//也就是程序执行的第一条语句是main函数的第一条语句
//这样才能知道程序想干什么,才能更好的理解程序的其他函数的功能。
//计算n的乘阶
int fun(int n)
{
//定义如果n<=0就让结果返回1
if (n<=0)
{
std::cout<<"当n=="<<n<<"时即fun("<<n<<")=1"<<endl;
return 1;
}
int m_n_result= n*fun(n-1);
std::cout<<"当n=="<<n<<"时即fun("<<n<<")="<<n<<"*fun("<<n-1<<")="<<m_n_result<<endl;
//返回n的乘阶结果
return m_n_result;
}
int main()
{
//c/c++递归函数的应用
//计算10的乘阶
//公式:n*(n-1)*(n-2)*......2*1
int n=10;
fun(n);
}
程序执行结果:
程序解读: