首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C 語言遞歸求和:缺少返回值導致結果錯誤

     編輯:程式設計疑難解答

錯誤代碼

int sum(int n) {
    if (n==1) return n;
    sum(n-1); // 未使用返回值,也未返回
}

修正

int sum(int n) {
    if (n == 1) return 1;
    return n + sum(n - 1); // 累加並返回
}

解析

  • 基例:`n==1` 返回 1。
  • 遞歸步:`n + sum(n-1)` 將當前數與子問題結果相加並**返回**。
  • 原代碼缺少 `return`,導致未定義行為(通常返回 0 或垃圾值)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved