C语言isdigit()函数:判断字符是否为数字字符
isdigit()函数
头文件和函数原型
#include <ctype.h>
int isdigit(int c);
描述
isdigit()
是C语言标准库中的一个函数,用于判断一个字符是否是数字字符(ASCII码为48~57);
返回值
如果传入的字符参数是一个数字字符(0~9),则返回非0
值,否则返回0
;
示例代码
这个示例将显示字符串中的所有数字字符;程序通过遍历字符串,判断每个字符是否为数字字符,如果是则显示,如果不是则忽略;
可以将数字字符的ASCII码减去0的ASCII码(48),得到数字字符对应的整数值;
例如,6的ASCII码为54,减去48,得到的就是字符6对应的整数值;
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main() {
char str[] = "0-1,2b,3,4a5,678!9";
size_t length = strlen(str);
char c;
for (int i = 0; i < length; i++) {
c = str[i];
if (isdigit(c)) {
printf("%d ", c - 48);
}
}
}
程序运行结果
0 1 2 3 4 5 6 7 8 9