循环内的多个递归调用如何展开?

时间:2017-03-14 09:59:06

标签: c++ recursion

我无法跟踪以下代码的递归:

void func(int n)
{
    if(n<=1)
       return;

    for(int i=0;i<n;i++)
    {
        func(n-1);
        cout << n;
        func(n-1);
    }
}

如果我们调用 func(3)递归树如何以及如何为给定代码调用函数?

1 个答案:

答案 0 :(得分:1)

我刚绘制了一个部分跟踪树,节点将作为红色数字执行

The trace tree

输出为223222232222322