Determine if char is a num or letter

Mona picture Mona · Dec 23, 2011 · Viewed 233.8k times · Source

How do I determine if a char in C such as a or 9 is a number or a letter?

Is it better to use:

int a = Asc(theChar);

or this?

int a = (int)theChar

Answer

Greg Hewgill picture Greg Hewgill · Dec 23, 2011

You'll want to use the isalpha() and isdigit() standard functions in <ctype.h>.

char c = 'a'; // or whatever

if (isalpha(c)) {
    puts("it's a letter");
} else if (isdigit(c)) {
    puts("it's a digit");
} else {
    puts("something else?");
}