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

C 語言技巧:如何將字符 '2' 的 ASCII 碼轉為整數 2?

     編輯:程式設計綜合問答

一行代碼搞定:字符數字轉整數的標準姿勢

輸入流讀到字符 '2'(ASCII 50),需轉為整數 2。核心原理:數字字符編碼連續,'0'~'9' 對應 48~57。

標準轉換公式

int digit = ch - '0'; // ch 為 '0'~'9' 任一字符
// 例:'2' - '0' = 50 - 48 = 2

完整安全函數

int charToInt(char ch) {
    if (ch >= '0' && ch <= '9') return ch - '0';
    return -1; // 非數字字符返回錯誤碼
}

擴展:字符串轉整數

int strToInt(const char* s) {
    int val = 0, sign = 1;
    if (*s == '-') { sign = -1; s++; }
    while (*s >= '0' && *s <= '9') {
        val = val * 10 + (*s - '0');
        s++;
    }
    return val * sign;
}
避坑:切勿用 atoi() 直接轉單字符(需以 \0 結尾),更別寫 switch(ch){case '0':return 0;...},減法法通用、無分支、極快。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved