a shot of dev knowledge

Related tags

What are isdigit() and ispunct() functions in C?

isdigit()

The isdigit() function falls under the header file ctype.h.

Header file :

#include<ctype.h>

This function accepts a character and classifies the character as a digit. It returns a value other than 0 to indicate success. The isdigit() function checks if the character is a numeric characterin between 0 to 9. Although isdigit() accepts an integer as an argument, when a character is passed to the function it internally converts the character to an ASCII value.

Syntax:

int isdigit(int a);

Here, a is the character to be checked.

Note: If the character passed as argument in isdigit() function is a digit, a non zero value is returned. If the character passed as argument in the isdigit() function is not a digit, 0 is returned.

Code

Below is a simple program that checks to see if it is a digit:

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

int main() 
{  char ch='8';
   
   if(isdigit(ch))
   {
     printf("condition is true");
     
   }
   else
   {
   	printf("condition is false");
   }
}
   

ispunct()

The ispunct() function falls under the ctype.h header file.

Header file :

#include<ctype.h>

The ispunct() function is used to determine if a character is a punctuation mark.

Syntax:

int ispunct(int argument);

If the character passed to the ispunct() function is punctuation, then a non-zero integer is returned. If not, it returns 0.

Code

The program below checks for punctuation in a sentence:

#include <stdio.h>
#include <ctype.h>
int main()
{
   
    char str[] = "Alas!, You have won the prize. ";
  
    int i = 0, value=0;
    while (str[i]) {          //iterating through the string
        if (ispunct(str[i]))  //checking the condition
            value++;
        i++;
    }
    printf("The sentence has  %d punctuation"
           " characters.\n", value);
    return 0;
}

Related tags

RELATED COURSES
View all Courses
Related Courses
Related Courses
View all Courses

Keep Exploring