大家好,本文主要讲C语言字符函数isalnum()和iscntrl()的详细讲解。有兴趣的同学过来看看,如果对你有帮助记得收藏。
isalnum()函数用于检查传递的字符是字母还是十进制数。其功能原型如下:
_ Cr TIMP int _ _ cdecl isal num(int _ C);
返回值非零(true)表示参数C是字母或十进制数,返回值零(false)表示参数C既不是十进制数也不是字母。
这里有一个简单的例子来演示它的用法。
#包含stdio.h
#包含ctype.h
int main()
{
int var1=' a
int var2=' 8
int var3=' \ t
int var 4=“”;
if( isalnum(var1))
{
Printf('var1=|%c|是字母数字\n ',var 1);
}
其他
{
Printf('var1=|%c|不是字母数字\n ',var 1);
}
if( isalnum(var2))
{
Printf('var2=|%c|是字母数字\n ',var 2);
}
其他
{
Printf('var2=|%c|不是字母数字\n ',var 2);
}
if( isalnum(var3))
{
Printf('var3=|%c|是字母数字\n ',var 3);
}
其他
{
Printf('var3=|%c|不是字母数字\n ',var 3);
}
if( isalnum(var4))
{
Printf('var4=|%c|是字母数字\n ',var 4);
}
其他
{
Printf('var4=|%c|不是字母数字\n ',var 4);
}
return(0);
}
定义四个变量,分别是一个字母、一个数字、一个制表符和一个空白字符,输出结果如下:
前两个变量返回真值,后两个变量返回假值。
isalnum()功能可以同时检测字母或数字。如果要分别检测字母或数字,库函数还提供了特殊的检测函数isalpha和isdigit。它们的功能原型如下:
_ Cr TIMP int _ _ CDE cl isalpha(int _ C);
_ Cr TIMP int _ _ cdecl is digit(int _ C);
用这两个函数替换上面代码中的函数。
#包含stdio.h
#包含ctype.h
int main()
{
int var1=' a
int var2=' 8
if( isalpha(var1))
{
Printf('var1=|%c|是字母\n ',var 1);
}
其他
{
Printf('var1=|%c|不是字母\n ',var 1);
}
if( isdigit(var2))
{
Printf('var2=|%c|是一个数字\n ',var 2);
}
其他
{
Printf('var2=|%c|不是数字\n ',var 2);
}
return(0);
}
运行结果如下:
C标准库还提供了控制字符检测函数iscntrl。
所谓“控制字符”,是指那些具有一定特殊功能,不会显示在屏幕上,不会占据字符位置的特殊字符。在ASCII码表中,前32个字符是控制字符。
控制字符检测功能iscntrl的原型如下:
_ Cr TIMP int _ _ CDE cl is cntrl(int _ C);
如果c是一个控制字符,函数返回一个非零值,否则返回0。
下面是演示其用法的简单代码。
#包含stdio.h
#包含ctype.h
int main()
{
int i=0,j=0;
char str 1[]=' ABC \ a def \ t GH ';
char str 2[]=' 123 \ n 456 ';
/*输出字符串直到控制字符\a */
而(!iscntrl(str1[i]))
{
putchar(str 1[I]);
我;
}
/*输出字符串,直到控制字符\n */
而(!iscntrl(str2[j]))
{
putchar(str 2[j]);
j;
}
return(0);
}
定义两个中间有控制字符的字符串,然后在打印字符串时检查字符是否是控制字符,如果是,结束打印。输出结果如下:
如输出结果所示,只打印控制字符前面的字符。
控制字符的反义词是可打印字符。可打印字符是指将显示在屏幕上并占据字符位置的“普通”字符。ASCII码表中从32到127编码的字符都是可打印字符。可打印字符是屏幕上可以看到的常用数字、字母、符号和其他字符。
关于C语言字符函数isalnum()和iscntrl()的详细解释本文到此为止。关于C语言isalnum()和iscntrl()的更多信息,请搜索我们之前的文章或者继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。