表達能力強的給我講下遞歸啊 是在看不懂他怎么執行的?跳來跳去static string Test(int i){if (i == 10){return i.ToString();//①}else{Test(++i);return i.ToString();//②}}Console.WriteLine(Test(1)); 結果居然是2,1.為什么第①出 return不跳出?2.當滿足條件后執行else的 ② 為什么他也不出去,++居然成了--了 ,還有他為什么減到2才執行完?條件在哪里
2 回答

慕容708150
TA貢獻1831條經驗 獲得超4個贊
遞歸算法解決問題的特點:
(1) 遞歸就是在過程或函數里調用自身。
(2) 在使用遞歸策略時,必須有一個明確的遞歸結束條件,稱為遞歸出口。
(3) 遞歸算法解題通常顯得很簡潔,但遞歸算法解題的運行效率較低。所以一般不提倡用遞歸算法設計程序。
(4) 在遞歸調用的過程當中系統為每一層的返回點、局部量等開辟了棧來存儲。遞歸次數過多容易造成棧溢出等。所以一般不提倡用遞歸算法設計程序。
- 2 回答
- 0 關注
- 640 瀏覽
添加回答
舉報
0/150
提交
取消