 GFG App
Open App Browser
Continue

# isalpha() and isdigit() functions in C with cstring examples.

isalpha(c) is a function in C which can be used to check if the passed character is an alphabet or not. It returns a non-zero value if it’s an alphabet else it returns 0. For example, it returns non-zero values for ‘a’ to ‘z’ and ‘A’ to ‘Z’ and zeroes for other characters.
Similarly, isdigit(c) is a function in C which can be used to check if the passed character is a digit or not. It returns a non-zero value if it’s a digit else it returns 0. For example, it returns a non-zero value for ‘0’ to ‘9’ and zero for others.
Avoiding common errors : It is important to note this article does not cover strings! Only Cstrings. Cstrings are an array of single characters (char) in their behaviour. There are advantages and disadvantages to this.
Example Problem : Given a cstring str, find the number of alphabetic letters and number of decimal digits in that cstring.
Examples:

```Input: 12abc12
Output: Alphabetic_letters = 3, Decimal_digits = 4

Input: 123 GeeksForGeeks is Number 1
Output: Alphabetic_letters = 21, Decimal_digits = 4```

Explanation And Approach:

## C

 `// C program to demonstrate working of isalpha() and` `// isdigit().` `#include ` `#include ` `#include `   `int` `main()` `{` `    ``char` `str[] = ``"12abc12"``;`   `    ``int` `alphabet = 0, number = 0, i;` `    ``for` `(i = 0; str[i] != ``'\0'``; i++) ` `    ``{` `    `  `        ``// check for alphabets` `        ``if` `(``isalpha``(str[i]) != 0)` `            ``alphabet++;`   `        ``// check for decimal digits` `        ``else` `if` `(``isdigit``(str[i]) != 0)` `            ``number++;` `    ``}`   `    ``printf``(``"Alphabetic_letters = %d, "` `           ``"Decimal_digits = %d\n"``,` `           ``alphabet, number);`   `    ``return` `0;` `}`

Output:

`Alphabetic_letters = 3, Decimal_digits = 4`

Time Complexity: O(n) where n is the size of the string.

Auxiliary Space: O(1)

Let us see the differences in a tabular form -:

This article is contributed by Mazhar Imam Khan. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.