小编Kap*_*jza的帖子

递归函数理解

我一直在做运动的递归功能,而且有一部分让我很困惑.这是整个代码的样子:

void RekFunkcija(int * pok, int max)
{
    if (max != 0)
    {
        cout << pok[max - 1] << endl;
        RekFunkcija(pok + 1, max - 1);
    }
}

void main()
{
    const int max = 5;
    int niz[] = { max, 63, max, 126, 252 };
    RekFunkcija(niz, max);
}
Run Code Online (Sandbox Code Playgroud)

所以这里的输出是:

在此输入图像描述

令我困惑的是这部分递归函数:cout << pok[max - 1] << endl; 我不明白为什么它总是输出数组的最后一个成员(252)?索引号(max-1)递减1?输出不应该是:252,126,5,63,5?这与pok+1论点有什么关系吗?先感谢您.

c++ recursion

1
推荐指数
1
解决办法
91
查看次数

标签 统计

c++ ×1

recursion ×1