现在位置: 首页 > C 教程 > 正文

C 库函数 - isxdigit()

C 标准库 - <ctype.h> C 标准库 - <ctype.h>

描述

C 库函数 int isxdigit(int c) 检查所传的字符是否是十六进制数字。

int isxdigit(int c) 参数 c 是单个字符。

十六进制一般用数字 0 到 9 和字母 A 到 F(或 a~f)表示,其中 A~F 表示 10~15: 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F

声明

下面是 isxdigit() 函数的声明。

int isxdigit(int c);

参数

  • c -- 这是要检查的字符。

返回值

如果 c 是一个十六进制数字,则该函数返回非零的整数值,否则返回 0。

实例

下面的实例演示了 isxdigit() 函数的用法。

实例

#include <ctype.h> #include <stdio.h> int main() { char c = '5'; int result; // 传入字符 result = isxdigit(c); // result 返回非 0 printf("%c 传入到 isxdigit() 函数结果为: %d", c, isxdigit(c)); printf("\n"); // 换行 c = 'M'; // 非十六进制数作为参数 result = isxdigit(c); // result 为 0 printf("%c 传入到 isxdigit() 函数结果为: %d", c, isxdigit(c)); return 0; }

让我们编译并运行上面的程序,这将产生以下结果:

5 传入到 isxdigit() 函数结果为: 1
M 传入到 isxdigit() 函数结果为: 0

找出字符串中为十六进制数字的字符:

实例

#include<ctype.h> #include<stdio.h> int main() { char str[]="123c@#run[oobe?"; int i; for(i=0;str[i]!='\0';i++) { if(isxdigit(str[i])) { printf("%c 是一个十六进制数\n",str[i]); } } }

让我们编译并运行上面的程序,这将产生以下结果:

1 是一个十六进制数
2 是一个十六进制数
3 是一个十六进制数
c 是一个十六进制数
b 是一个十六进制数
e 是一个十六进制数

C 标准库 - <ctype.h> C 标准库 - <ctype.h>