小小程序员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条)

报告相同问题?