public static void downup(int n) {
System.out.println(n);
if(n>0) {
downup(n-1);
System.out.println(n);
}
}
我看到了這段代碼,不明白為什么當n為3時輸出是3210123。我只能理解它必須是“3210”。剩下的輸出(“123”)呢?
uj5u.com熱心網友回復:
可以像這樣可視化執行:
downup(3)
println(3)
downup(3-1)
println(2)
downup(2-1)
println(1)
downup(1-1)
println(0)
condition false, recursion stopped
return
println(1)
return
println(2)
return
println(3)
return
每次downup()呼叫(遞回),縮進增加。當從 執行回傳時downup(),縮進減少。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/470940.html
