Open In App

isprint() in C

Last Updated : 16 Aug, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

The C isprint() function is used to check if a character passed as the argument is a printable character or not. isprint() is defined in the <ctype.h> standard library header file.

Printable characters in C are:

  • digits ( 0123456789 )
  • uppercase letters ( ABCDEFGHIJKLMNOPQRSTUVWXYZ )
  • lowercase letters ( abcdefghijklmnopqrstuvwxyz )
  • punctuation characters ( !"#$%&'()*+,-./:;?@[\]^_`{ | }~ )
  • space ( )

Note: The isprint() function checks the ASCII value of a character to determine whether it is a printable character or not.

Syntax of isprint()

int isprint (int c);

Parameters

  • c: It is the character to be checked.

Return Value

  • It returns a non-zero value(true) if the given character is printable.
  • If the character is not printable, it returns zero (false).

Complexity Analysis

  • Time Complexity: O(1)
  • Auxiliary Space: O(1)

Example of isprint()

The below C program calculates the number of printable characters in the string.

Algorithm

  1. Traverse the given string character by character up to its length, and check if the character is a printable character using isprint() function.
  2. If it is a printable character, increment the counter by 1, else traverse to the next character.
  3. Print the value of the counter.

Sample Input : string = 'My name \n is \n Ayush'
Sample Output : 18

Implementation

C
// C program to count printable characters in a string
#include <ctype.h>
#include <stdio.h>
#include <string.h>

// function to calculate printable characters
void space(char* str)
{
    int count = 0;
    int length = strlen(str);
    for (int i = 0; i < length; i++) {
        int c = str[i];
        // Check if the character is printable
        if (isprint(c)) {
            printf("%c", c);
            count++;
        }
    }
    printf("\n");
    printf("%d", count);
}

// Driver Code
int main()
{
    char str[] = "My name \n is \n Ayush";
    space(str);
    return 0;
}

Output
My name  is  Ayush
18


Next Article
Article Tags :
Practice Tags :

Similar Reads