擅长:python、mysql、java
<p>在第一个<code>print(n)</code>和第二个<code>print(n)</code>之间,所有较小的数字都将由递归处理。只有当n为零时,函数才会打印一行并返回,而不调用自身</p>
<p>因此,如果我们按递归深度进行分解,我们得到:</p>
<pre><code>bounce(4)
|print(4) 4 1st print(n)
|bounce(3)
| |print(3) 3 1st print(n)
| |bounce(2)
| | |print(2) 2 1st print(n)
| | |bounce(1)
| | | |print(1) 1 1st print(n)
| | | |bounce(0)
| | | | |print(0) 0 2nd print(n)
| | | |print(1) 1 2nd print(n)
| | |print(2) 2 2nd print(n)
| |print(3) 3 2nd print(n)
|print(4) 4 2nd print(n)
</code></pre>
<p>一般来说,递归函数调用之前的操作是按顺序执行的,而调用之后的操作是按相反的顺序执行的</p>