小小程序员Eric 2016-04-26 01:42 采纳率: 100%
浏览 1567
已采纳

求助这个函数的递归怎么理解,我是初学者,谢谢!

 #include<iostream>
#include<Windows.h>
using namespace std;
int age(int);

int main()
{
    cout<<age(5)<<endl;
    system("pause");
    return 0;
}

int age(int n)
{
    int c;
    if(n == 1) 
    {
        c = 10;
        cout<<n<<endl;
    }
    else c = age(n-1)+2;
    return c;
}
  • 写回答

5条回答

  • qq_32835941 2016-04-26 01:57
    关注

    age(5)->age(4)->age(3)->age(2)->age(1),1满足if条件,这个时候后面就没有递归了,执行age(1),执行完c = 10把值返回,返回到age(2)函数中,
    同理执行age(2),返回值是12,就这么计算下去,一直执行到age(5)。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog