# 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 -:

Previous
Next
Share your thoughts in the comments
Similar Reads