1. 主页
  2. 文档
  3. C语言教程
  4. C语言数组和字符串
  5. C/C++ 中的 isalpha() 和 isdigit()

C/C++ 中的 isalpha() 和 isdigit()

isalpha(c)是 C 语言中的一个函数,可用于检查传递的字符是否为字母。如果它是字母,则返回非零值,否则返回 0。例如,对于“a”到“z”和“A”到“Z”,它返回非零值,对于其他字符返回零。
同样,isdigit(c)是 C 中的一个函数,可用于检查传递的字符是否为数字。如果它是数字,则返回非零值,否则返回 0。例如,对于“0”到“9”,它返回非零值,对于其他值返回零。
避免常见错误:重要的是要注意本文不涉及字符串!只有 Cstrings。Cstrings 是其行为中的单个字符 (char) 的数组。这有优点也有缺点。
示例问题:给定一个 cstring str,找出该cstring中字母的数量和十进制数字的数量。
例子: 

// C program to demonstrate working of isalpha() and
// isdigit().
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>

int main()
{
char str[] = "12abc12";

int alphabet = 0, number = 0, i;
for (i = 0; str[i] != '\0'; i++)
{

// check for alphabets
if (isalpha(str[i]) != 0)
alphabet++;

// check for decimal digits
else if (isdigit(str[i]) != 0)
number++;
}

printf("Alphabetic_letters = %d, "
"Decimal_digits = %d\n",
alphabet, number);

return 0;
}

输出: 

Alphabetic_letters = 3, Decimal_digits = 4

 

这篇文章对您有用吗?