提問者提供一張程式碼截圖(未顯示),詢問紅框標記處的遞歸邏輯不理解,請求解釋調用順序。
遞歸函式的關鍵在於「自己呼叫自己」,並需有明確的基礎情況終止遞歸。執行順序遵循堆疊機制:
int fact(int n) {
if (n <= 1) return 1; // 基礎情況
return n * fact(n - 1); // 遞歸呼叫
}
// fact(3) 執行流程:
// fact(3) → 3 * fact(2)
// fact(2) → 2 * fact(1)
// fact(1) → 1 (返回)
// 回溯:2*1=2 → 3*2=6
理解遞歸的關鍵在於信任「子問題已正確解決」,專注於定義基礎情況與縮減規模的遞歸關係。