isdigit、isalnum、isalpha、islower、issupper都是C/C ++语言中判断字符的一些函数,若要使用它们,我们需要加上头文件 #include<ctype.h> ,下面我们来了解一下这些函数的具体用法
1.isdigit
若参数c为十进制数字0~9,则返回非0值,否则返回0。
代码示例:
#include<stdio.h>
#include<ctype.h>
int main()
{
char str[] = "12aa45ac";
char* p = str;
while (*p != 0)
{
if (isdigit(*p))
{
printf("%d ", *p-'0');
}
p++;
}
return 0;
}
结果:
2.isalnum
用来判断一个字符是否为数字或者字母,如果是,则返回非零,否则返回零。
代码示例:
#include<stdio.h>
#include<ctype.h>
int main()
{
char str[] = "12aa;;45ac;;";
char* p = str;
while (*p != 0)
{
if (isalnum(*p))
{
printf("%c ", *p);
}
p++;
}
return 0;
}
结果:
3. isalpha
用来判断一个字符是否为字母,如果是,则返回非零,否则返回零。
#include<stdio.h>
#include<ctype.h>
int main()
{
char str[] = "12aa;;45ac;;";
char* p = str;
while (*p != 0)
{
if (isalpha(*p))
{
printf("%c ", *p);
}
p++;
}
return 0;
}
结果:
4. islower
用来判断一个字符是否为小写字母,如果是,则返回非零,否则返回零。
代码示例:
#include<stdio.h>
#include<ctype.h>
int main()
{
char str[] = "12aa;AA;45FFac;;";
char* p = str;
while (*p != 0)
{
if (islower(*p))
{
printf("%c ", *p);
}
p++;
}
return 0;
}
结果:
6. islsupper
用来判断一个字符是否为小写字母,如果是,则返回非零,否则返回零。
#include<stdio.h>
#include<ctype.h>
int main()
{
char str[] = "12aa;AA;45FFac;;";
char* p = str;
while (*p != 0)
{
if (isupper(*p))
{
printf("%c ", *p);
}
p++;
}
return 0;
}
结果: