```c++
void P(int W)
{
if (W>0)
{ P(W-1);
P(W-1);
cout<<W;
}
}
调用 P(4);
想问一下,为什么这个函数调用结果是 112112311211234?
```c++
void P(int W)
{
if (W>0)
{ P(W-1);
P(W-1);
cout<<W;
}
}
调用 P(4);
想问一下,为什么这个函数调用结果是 112112311211234?
这是递归
第一次调用 P(4):
第一次调用 P(3):
第一次调用 P(2):
第一次调用 P(1):
输出 1
第二次调用 P(1):
输出 1
输出 2
第二次调用 P(2):
第一次调用 P(1):
输出 1
第二次调用 P(1):
输出 1
输出 2
输出 3
第二次调用 P(3):
第一次调用 P(2):
第一次调用 P(1):
输出 1
第二次调用 P(1):
输出 1
输出 2
第二次调用 P(2):
第一次调用 P(1):
输出 1
第二次调用 P(1):
输出 1
输出 2
输出 3
输出 4
最终输出结果为:1 1 2 1 1 2 3 1 1 2 1 1 2 3 4