溫馨提示×

c語言如何判斷字符串是否為數字

小億
270
2023-11-13 22:10:39
欄目: 編程語言

在C語言中,可以使用isdigit()函數來判斷一個字符是否為數字。isdigit()函數是ctype.h頭文件中的一個函數,其原型如下:

int isdigit(int c);

isdigit()函數接收一個字符c作為參數,如果該字符是一個數字,則返回一個非零值(真),否則返回0(假)。

要判斷一個字符串是否為數字,可以遍歷字符串的每個字符,調用isdigit()函數進行判斷。以下是一個示例代碼:

#include <stdio.h> #include <ctype.h>

int isNumber(char *str) { int i = 0; // 判斷字符串是否以負號開頭,如果是,則跳過負號進行判斷 if (str[0] == ‘-’) { i = 1; } // 遍歷字符串的每個字符 while (str[i] != ‘\0’) { // 如果當前字符不是數字,則返回假 if (!isdigit(str[i])) { return 0; } i++; } // 所有字符都是數字,返回真 return 1; }

int main() { char str1[] = “12345”; // 數字字符串 char str2[] = “-12345”; // 帶負號的數字字符串 char str3[] = “12a45”; // 非數字字符串

// 判斷字符串是否為數字
if (isNumber(str1)) {
    printf("%s is a number.\n", str1);
} else {
    printf("%s is not a number.\n", str1);
}

if (isNumber(str2)) {
    printf("%s is a number.\n", str2);
} else {
    printf("%s is not a number.\n", str2);
}

if (isNumber(str3)) {
    printf("%s is a number.\n", str3);
} else {
    printf("%s is not a number.\n", str3);
}

return 0;

}

運行以上代碼,輸出結果為:

12345 is a number. -12345 is a number. 12a45 is not a number.

注意:以上代碼只能判斷整數類型的數字字符串,對于帶有小數點的浮點數字符串或科學計數法表示的字符串,需要使用其他方法進行判斷。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女