中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

c語言如何從字符串中提取數字

小億
1047
2023-12-26 00:53:54
欄目: 編程語言

在C語言中,可以使用庫函數和循環來從字符串中提取數字。下面是一種常見的方法:

  1. 使用sscanf函數:sscanf函數可以從字符串中按照指定的格式提取數據。首先,使用sscanf函數將字符串中的數字提取到一個變量中。
#include <stdio.h>

int main() {
   char str[] = "abc123def456";
   int num;
   
   sscanf(str, "%*[^0123456789]%d", &num);
   
   printf("提取到的數字為:%d\n", num);
   
   return 0;
}

上述代碼中,%*[^0123456789]表示跳過非數字字符,%d表示提取整數。sscanf函數的返回值表示成功匹配并提取的參數數量。

  1. 使用循環逐個字符判斷:通過循環遍歷字符串中的每個字符,判斷是否為數字字符,如果是,則將其轉換為整數并存儲。
#include <stdio.h>

int main() {
   char str[] = "abc123def456";
   char num_str[10] = "";  // 存儲提取到的數字字符串
   int num = 0;  // 存儲提取到的數字
   
   int i = 0;
   int j = 0;
   while (str[i] != '\0') {
      if (str[i] >= '0' && str[i] <= '9') {
         num_str[j] = str[i];
         j++;
      }
      i++;
   }
   
   num = atoi(num_str);  // 將數字字符串轉換為整數
   
   printf("提取到的數字為:%d\n", num);
   
   return 0;
}

上述代碼中,通過循環遍歷字符串中的每個字符,判斷是否為數字字符(ASCII碼為48~57),如果是,則將其存儲到num_str數組中。最后,使用atoi函數將num_str轉換為整數。

以上是兩種常見的從字符串中提取數字的方法。根據實際情況選擇適合的方法。

0
蚌埠市| 华坪县| 延庆县| 开远市| 辽中县| 双辽市| 冀州市| 定兴县| 台北市| 马龙县| 南通市| 临夏县| 于都县| 盈江县| 扎鲁特旗| 大渡口区| 盘锦市| 竹溪县| 稻城县| 松桃| 宁都县| 华池县| 海城市| 淮北市| 明光市| 乐陵市| 大新县| 水城县| 汉川市| 嘉荫县| 乌兰浩特市| 临夏县| 茂名市| 福鼎市| 扎鲁特旗| 阿拉善盟| 怀安县| 儋州市| 霍林郭勒市| 盐池县| 蛟河市|