C isdigit() Function

The isdigit() function in C is a standard library function that checks if a given character is a decimal digit (0-9). It is part of the C standard library (ctype.h). This function is useful for determining if a character is a numeric digit.

Table of Contents

  1. Introduction
  2. isdigit() Function Syntax
  3. Examples
    • Checking if a Character is a Decimal Digit
    • Using isdigit() with User Input
  4. Real-World Use Case
  5. Conclusion

Introduction

The isdigit() function checks if a given character is a decimal digit, meaning it is one of the characters from '0' to '9'. This function is useful in various scenarios, such as validating user input or parsing numeric data from text.

isdigit() Function Syntax

The syntax for the isdigit() function is as follows:

#include <ctype.h>
int isdigit(int c);

Parameters:

  • c: The character to be checked, which is passed as an int.

Returns:

  • The function returns a non-zero value (true) if the character is a decimal digit; otherwise, it returns 0 (false).

Examples

Checking if a Character is a Decimal Digit

To demonstrate how to use isdigit() to check if a character is a decimal digit, we will write a simple program.

Example

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

int main() {
    char ch = '5';

    // Check if the character is a decimal digit
    if (isdigit(ch)) {
        printf("'%c' is a decimal digit.\n", ch);
    } else {
        printf("'%c' is not a decimal digit.\n", ch);
    }

    return 0;
}

Output:

'5' is a decimal digit.

Using isdigit() with User Input

This example shows how to use isdigit() to check if a character provided by the user is a decimal digit.

Example

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

int main() {
    char ch;

    // Get user input for the character
    printf("Enter a character: ");
    scanf("%c", &ch);

    // Check if the character is a decimal digit
    if (isdigit(ch)) {
        printf("'%c' is a decimal digit.\n", ch);
    } else {
        printf("'%c' is not a decimal digit.\n", ch);
    }

    return 0;
}

Output (example user input '7'):

Enter a character: 7
'7' is a decimal digit.

Output (example user input 'a'):

Enter a character: a
'a' is not a decimal digit.

Real-World Use Case

Validating Numeric Input

In real-world applications, the isdigit() function can be used to validate numeric input, ensuring that only digits are accepted.

Example: Validating a Numeric String

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

int main() {
    char input[100];
    int i, is_valid = 1;

    // Get user input for the string
    printf("Enter a string: ");
    scanf("%s", input);

    // Check if the string contains only decimal digits
    for (i = 0; input[i] != '\0'; i++) {
        if (!isdigit(input[i])) {
            is_valid = 0;
            break;
        }
    }

    // Print the result
    if (is_valid) {
        printf("The string '%s' is a valid numeric string.\n", input);
    } else {
        printf("The string '%s' is not a valid numeric string. Only decimal digits are allowed.\n", input);
    }

    return 0;
}

Output (example user input "12345"):

Enter a string: 12345
The string '12345' is a valid numeric string.

Output (example user input "12a45"):

Enter a string: 12a45
The string '12a45' is not a valid numeric string. Only decimal digits are allowed.

Conclusion

The isdigit() function is essential for checking if a character is a decimal digit in C. It is useful in various applications, particularly in fields like data validation and text processing, where it is necessary to identify numeric digits.

Comments

Spring Boot 3 Paid Course Published for Free
on my Java Guides YouTube Channel

Subscribe to my YouTube Channel (165K+ subscribers):
Java Guides Channel

Top 10 My Udemy Courses with Huge Discount:
Udemy Courses - Ramesh Fadatare