用C语言判断字符是否为空白字符或特殊字符的方法

时间:2021-05-19

C语言isspace()函数:判断字符是否为空白字符
头文件:

#include <ctype.h>

定义函数:

int isspace(int c);

函数说明:检查参数c是否为空格字符,也就是判断是否为空格(' ')、定位字符(' \t ')、CR(' \r ')、换行(' \n ')、垂直定位字符(' \v ')或翻页(' \f ')的情况。

返回值:若参数c 为空白字符,则返回非 0,否则返回 0。

附加说明:此为宏定义,非真正函数。

范例:将字符串str[]中内含的空格字符找出,并显示空格字符的ASCII 码。

#include <ctype.h>main(){ char str[] = "123c @# FD\tsP[e?\n"; int i; for(i = 0; str[i] != 0; i++) if(isspace(str[i])) printf("str[%d] is a white-space character:%d\n", i, str[i]);}

执行结果:

str[4] is a white-space character:32str[7] is a white-space character:32str[10] is a white-space character:9 // \tstr[16] is a white-space character:10 // \t

C语言ispunct()函数:判断字符是否为标点符号或特殊字符
头文件:

#inlude <ctype.h>

ispunct() 函数用来检测一个字符是否为标点符号或特殊字符,其原型为:

int ispunct(int c);

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

【返回值】若 c 为标点符号或特殊符号(非空格、非数字和非英文字母)返回非 0 值,否则返回 0。

注意,此为宏定义,非真正函数。

【实例】列出字符串str 中的标点符号或特殊符号。

#include <stdio.h>#include <ctype.h>int main (){ int i=0; int cx=0; char str[]="Hello, welcome!"; while (str[i]) { if (ispunct(str[i])) cx++; i++; } printf ("Sentence contains %d punctuation characters.\n", cx); return 0;}

输出结果:

Sentence contains 2 punctuation characters.

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章