📜  C C ++中的isdigit()函数与示例(1)

📅  最后修改于: 2023-12-03 14:39:36.860000             🧑  作者: Mango

C/C++中的isdigit()函数与示例

isdigit()函数是C语言和C++语言中的标准库函数之一,在ctype.h头文件中定义。这个函数主要用来判断一个字符变量是否是数字字符。本文将介绍isdigit()函数的语法、返回值、示例代码及其他注意事项。

语法

C语言中的语法为:

int isdigit (int ch);

C++语言中的语法为:

bool isdigit (char ch);
返回值

isdigit()函数的返回值为整数型,在C语言中,如果传入的ch参数是数字字符,则返回1,否则返回0。C++语言中,如果ch参数是数字字符,则返回true,否则返回false

需要注意的是,在C++语言中,函数参数类型为char类型。因为这个函数只能用于字符类型的变量,而C++中的char和C语言中的int都是8位的,所以它们可以互相转换,并没有影响函数的使用。

示例

下面是isdigit()函数的一个示例,它用来判断一个字符串中是否只包含数字字符:

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

int main () {
   char str[] = "12345";
   int only_digits = 1;
   
   for (int i = 0; str[i] != '\0'; i++) {
      if (!isdigit(str[i])) {
         only_digits = 0;
         break;
      }
   }
   
   if (only_digits) {
      printf("字符串 %s 只包含数字字符。\n", str);
   } else {
      printf("字符串 %s 不只包含数字字符。\n", str);
   }
   
   return 0;
}

上面的程序首先定义了一个字符串str,然后用一个循环遍历这个字符串中的每一个字符,如果有任何一个字符不是数字字符,就设置only_digits变量为0。最后,判断only_digits的值,确定字符串str是否只包含数字字符。

注意,isdigit()函数只判断单个字符是否为数字字符,如果要判断多个字符,请遍历整个字符串并依次判断每一个字符。

注意事项
  • 此函数只能用来判断数字字符,如果传入的是任何其他字符,则返回值未定义。
  • isdigit()函数只能判断ASCII码表中的数字字符,如果需要判断更多的字符,可以使用isxdigit()isalnum()等函数。