如何确定C中的char,例如a9是数字还是字母?

使用以下选项是否更好:

int a = Asc(theChar);

还是这个?

int a = (int)theChar

推荐答案

您需要在<ctype.h>中使用isalpha()isdigit()标准函数.

char c = 'a'; // or whatever

if (isalpha(c)) {
    puts("it's a letter");
} else if (isdigit(c)) {
    puts("it's a digit");
} else {
    puts("something else?");
}

C++相关问答推荐

了解返回函数指针的函数定义

如何将FileFilter添加到FileDialog GTK 4

你能用自己的地址声明一个C指针吗?

球体—立方体重叠:无、部分或全部?

ATmega328P USART发送字符重复打印

C/SDL程序,渲染不使用我的渲染器

使用额外的公共参数自定义printf

为什么在函数内部分配内存空间时需要添加符号?

预先分配虚拟地址空间的区域

如何有效地编写代码来判断两个元素数量相同的数组即使在不同的位置也具有相同的元素?

S的这种管道实施有什么问题吗?

用C++实现余弦函数

这个计算C中阶乘的函数正确吗?

等同于铁 rust 的纯C语言S未实现!()宏

C代码在字符串中删除不区分大小写的子字符串的问题

在libwget中启用Cookie会导致分段故障

C23标准是否向后兼容?

共享目标代码似乎不能在Linux上的进程之间共享

std::malloc/calloc/realloc/free 与纯 C 的 malloc/calloc/realloc/free 有什么不同

将数组返回到链表