C语言中isalnum()函数和isalpha()函数的对比使用

时间:2022-06-22 06:43:35

C语言isalnum()函数:判断字符是否为英文字母或数字
头文件:

?
1
#include <ctype.h>

isalnum() 用来判断一个字符是否为英文字母或数字,相当于 isalpha(c) || isdigit(c),其原型为:

?
1
int isalnum(int c);

【参数】c 为需要检测的字符。

【返回值】若参数c 为字母或数字,若 c 为 0 ~ 9  a ~ z  A ~ Z 则返回非 0,否则返回 0。

注意,isalnum()为宏定义,非真正函数。

【实例】找出str 字符串中为英文字母或数字的字符。

?
1
2
3
4
5
6
7
8
#include <ctype.h>
main(){
  char str[] = "123c@#FDsP[e?";
  int i;
  for (i = 0; str[i] != 0; i++)
    if(isalnum(str[i]))
      printf("%c is an alphanumeric character\n", str[i]);
}

输出结果:

?
1
2
3
4
5
6
7
8
9
1 is an apphabetic character
2 is an apphabetic character
3 is an apphabetic character
c is an apphabetic character
F is an apphabetic character
D is an apphabetic character
s is an apphabetic character
P is an apphabetic character
e is an apphabetic character

 

C语言isalpha()函数:判断字符是否为英文字母
头文件:

?
1
#include <ctype.h>

isalpha() 用来判断一个字符是否是英文字母,相当于 isupper(c)||islower(c),其原型为:

?
1
int isalpha(int c);

【参数】c 为需要被检测的字符。

【返回值】若参数c 为英文字母(a ~ z  A ~ Z),则返回非 0 值,否则返回 0。

注意,isalpha() 为宏定义,非真正函数。

【实例】找出str 字符串中为英文字母的字符。

?
1
2
3
4
5
6
7
8
#include <ctype.h>
main(){
  char str[] = "123c@#FDsP[e?";
  int i;
  for (i = 0; str[i] != 0; i++)
    if(isalpha(str[i]))
      printf("%c is an alphanumeric character\n", str[i]);
}

执行结果:

?
1
2
3
4
5
6
c is an apphabetic character
F is an apphabetic character
D is an apphabetic character
s is an apphabetic character
P is an apphabetic character
e is an apphabetic character