w3resource

C ispunct() function

C ispunct(int ch)

The ispunct() function is used to check whether a character is a punctuation mark or not. The function is defined in the ctype.h header file.

Syntax:

int ispunct(int argument);

ispunct() Parameters:

Name Description Required /Optional
ch ch is a character of class punct in the current locale. Required

Return value from ispunct()

  • The ispunct() function returns non-zero if ch is a punctuation character; otherwise, returns 0.

Example-1: Program to check punctuation

#include <stdio.h>
#include <ctype.h>
int main()
{
    char ch;
    ch = ':';
    printf("\nIf %c is punctuation character or not? %d", ch, ispunct(ch));
    ch = ',';
    printf("\nIf %c is punctuation character or not? %d", ch, ispunct(ch));
    ch = 'A';
    printf("\nIf %c is punctuation character or not? %d", ch, ispunct(ch));
    return 0;
}

Output:

If : is punctuation character or not? 16
If , is punctuation character or not? 16
If A is punctuation character or not? 0

C Programming Code Editor:

Contribute your code and comments through Disqus.

Previous C Programming: C isprint()
Next C Programming: C isspace()



Follow us on Facebook and Twitter for latest update.

C Programming: Tips of the Day

Reading a string with scanf :

An array "decays" into a pointer to its first element, so scanf("%s", string) is equivalent to scanf("%s", &string[0]). On the other hand, scanf("%s", &string) passes a pointer-to-char[256], but it points to the same place.

Then scanf, when processing the tail of its argument list, will try to pull out a char *. That's the Right Thing when you've passed in string or &string[0], but when you've passed in &string you're depending on something that the language standard doesn't guarantee, namely that the pointers &string and &string[0] -- pointers to objects of different types and sizes that start at the same place -- are represented the same way.

Ref : https://bit.ly/3pdEk6f