当前位置: C语言 -- 标准库 -- <ctype.h> -- ispunct

ispunct函数


概要:
#include <ctype.h>
int ispunct(int c);

描述:

该函数用于检查字符是否为标点符号。

标点符号是打印字符成员。默认环境中(即“C”语言环境),标点符号的isspaceisalnum函数返回值均为false。非默认环境中,标点符号为特定语言环境标点字符集成员,该成员的isspaceisalnum函数返回值均为false

该函数行为会受当前语言环境影响。


参数:
int c

参数c为一个int类型整数,其值可用unsigned char类型表示或者等于宏EOF。如果参数c是其它值,函数行为是未定义的。


返回值:

如果参数c是标点符号,函数返回非0值(即true);反之,如果参数c不是标点符号,函数返回0(即false)。


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
/*函数ispunct范例*/

#include <ctype.h>
#include <stdio.h>

int main(void)
{
    int i = 0;
    int count = 0;    //计数器,统计标点符号数量。
    const char str[] = "I am a slow walker, but I never walk backwards.";

    while(str[i])
    {
        if(ispunct(str[i]))
            ++count;
        ++i;
    }

    printf("There are %d punctuation characters in the sentence.", count);

    return 0;
}

输出:

There are 2 punctuation characters in the sentence.


相关内容:
isprint 检查字符是否为打印字符(包括空格符' ')的函数。
isgraph 检查字符是否为打印字符(空格符' '除外)的函数。
iscntrl 检查字符是否为控制字符的函数。