首页 > 编程笔记

C语言isascii():判断一个字符是否为ASCII码字符

C语言 isascii() 函数定义在<ctype.h>头文件中,用来判断一个字符是否为 ASCII 码字符(ASCII 码值在 0~127 之间)。

isascii() 函数的原型如下:

int isascii(int c);

参数

c 就是要检查的字符,它是 int 类型,可以传入整形数字,也可以传入带单引号的字符。

返回值

如果 c 是 ASCII 码字符,函数返回非零值;否则,返回零。

【实例】用 isascii() 函数来检查一个字符数组中的每个字符是否为 ASCII 码字符。
#include <stdio.h>
#include <ctype.h>

int main() {
    char str[] = { 'A', 'b', '9', 128, -1, '\0' }; // 包括非 ASCII 字符

    for(int i = 0; str[i] != '\0'; i++) {
        if(isascii(str[i])) {
            printf("'%c' is a valid ASCII character.\n", str[i]);
        } else {
            printf("Character at index %d is NOT a valid ASCII character.\n", i);
        }
    }

    return 0;
}
输出结果为:

'A' is a valid ASCII character.
'b' is a valid ASCII character.
'9' is a valid ASCII character.
Character at index 3 is NOT a valid ASCII character.
Character at index 4 is NOT a valid ASCII character.

注意事项

isascii() 的实现可能因编译器和平台而异,且并非所有标准库都提供此函数。在某些情况下,你可能需要自己用 C 语言实现这个功能,这可以通过简单地检查字符的整数值是否在 0 到 127 之间来完成。

例如,如下就是用 C 语言自定义的 isascii() 函数:
int isascii(int c) {
    return (c >= 0) && (c <= 127);
}
这个简单的函数会检查输入字符是否在 ASCII 范围内,并返回相应的真或假值。

推荐阅读