我尝试搜索答案,但无法获得任何令人信服的答案。有人可以解释一下此c ++代码的打印方式1 2 3 4 5吗?
我明白到何时为止n=1。when时n=1,fun(n-1) = fun(1-1) = fun(0)由于n>0不满意而没有执行,因此现在cout << n << endl将执行并n仍然等于,1但是在打印后1应该停止?如何处理之前的通话?它如何打印2 3 4 5?
同样,在cout << n << endl上方时,fun(n-1)它在打印时也很有意义5 4 3 2 1。
#include <iostream>
using namespace std;
void fun(int n)
{
if (n > 0) {
fun(n - 1);
cout << n << endl;
}
}
int main()
{ …Run Code Online (Sandbox Code Playgroud)