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

C 語言指針遍歷字符串統計數字字符之和

     編輯:程式設計綜合問答

算法思路

  1. 定義指針 char *p = str; 指向字符串首地址
  2. 循環遍歷:while (*p != '\0')
  3. 判斷是否為數字字符:if (*p >= '0' && *p <= '9') 或 isdigit(*p)
  4. 累加:sum += *p - '0';(字符 '0'~'9' 對應 ASCII 碼連續)
  5. 指針後移:p++;

完整代碼

int sum_digits(const char *str) {
    int sum = 0;
    while (*str) {
        if (isdigit(*str)) sum += *str - '0';
        str++;
    }
    return sum;
}

關鍵點

  • *p - '0' 將字符轉為對應整數值('5' - '0' = 5)
  • 使用標準庫 isdigit() 更具可移植性
  • 指針遍歷比下標訪問 str[i] 效率略高,且更符合 C 風格
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved