
前前前前前前前前前前前前 5
前前前前前前前前前前前前 4
前前前前前前前前前前前前 3
前前前前前前前前前前前前 2
前前前前前前前前前前前前 1
后后后后后后后后后后后 1 1
前前前前前前前前前前前前 2
前前前前前前前前前前前前 1
前前前前前前前前前前前前 2
后后后后后后后后后后后 2 1
前前前前前前前前前前前前 3
前前前前前前前前前前前前 2
前前前前前前前前前前前前 1
后后后后后后后后后后后 1 1
前前前前前前前前前前前前 2
前前前前前前前前前前前前 1
前前前前前前前前前前前前 2
前前前前前前前前前前前前 3
前前前前前前前前前前前前 2
前前前前前前前前前前前前 1
后后后后后后后后后后后 1 1
前前前前前前前前前前前前 2
前前前前前前前前前前前前 1
后后后后后后后后后后后 3 2
前前前前前前前前前前前前 4
前前前前前前前前前前前前 3
前前前前前前前前前前前前 2
前前前前前前前前前前前前 1
后后后后后后后后后后后 1 1
前前前前前前前前前前前前 2
前前前前前前前前前前前前 1
前前前前前前前前前前前前 2
后后后后后后后后后后后 2 1
前前前前前前前前前前前前 3
前前前前前前前前前前前前 2
前前前前前前前前前前前前 1
后后后后后后后后后后后 1 1
前前前前前前前前前前前前 2
前前前前前前前前前前前前 1
前前前前前前前前前前前前 2
前前前前前前前前前前前前 3
前前前前前前前前前前前前 2
前前前前前前前前前前前前 1
后后后后后后后后后后后 1 1
前前前前前前前前前前前前 2
前前前前前前前前前前前前 1
5
Process finished with exit code 0
就是一個斐波那契,傳一個整數N,得出第N個斐波那契是多少.
這個執行順序好奇怪啊,5,1,3,1,3,1,6,1,2,1,4,1,3,1,3,1,6,1,2.堆疊中是否生成了40個fbn()的代碼塊呢?
他這個執行循序好奇怪啊,而且最后n變成1和1了, 1+1回傳main應該是2才對,怎么回傳的是5呢
uj5u.com熱心網友回復:
函式呼叫37次,然后執行了9次else54321還能理解 每次都減1了, 2 1 2的變化是什么鬼..
uj5u.com熱心網友回復:
你再好好分析一下遞回你可以把
fmt.Println((a:"后后。。。。", fbn(n-1), fbn(n-2))
這句改成不傳引數 fbn(n-1), fbn(n-2) 看看有什么不同
提示:這句列印的 fbn(n-1), fbn(n-2) 也發生了遞回,所以列印資訊不像你想象的那樣,你好好捋捋看
uj5u.com熱心網友回復:
2樓正確 運算式重復呼叫引起多個遞回 所以執行結果不是你想要的結果轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/142251.html
標籤:go語言
