小编Uni*_*seX的帖子

C++ 在递归函数中递增

我在寻找递归函数示例时使用 grpper 找到了这个代码片段。我理解递归部分,函数如何调用自身 - 1 直到它到达基本情况,但是,我不理解 else 中的最后一行。只是想弄清楚最后一行如何使数字返回到起始值。代码中没有任何内容将其设置为 +1,而且,随着它返回,它是调用函数本身还是只是我不知道的规则?只是想把我的脑袋围绕在这里的逻辑。

void PrintTest(int test)
{
    if (test < 1)
    {
        return; // Exit condition, known as "base case"
    }
    else
    {
        cout << test << " ";
        PrintTest(test-1);
        cout << test << " ";
    }
}

int main()
{
    int a;
    cout << "Enter a number prefarably between 2 and 9: ";
    cin >> a;
    PrintTest(a);
Run Code Online (Sandbox Code Playgroud)

我知道这可能是一个愚蠢的问题,但只是想了解为什么“cout << test <<”“;” 增加数字备份就是这样。

c++ console-application

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

标签 统计

c++ ×1

console-application ×1