Question: 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: 
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?");
}

```
chars are just integers, so you can actually do a straight comparison of your character against literals:

```
if( c >= '0' && c <= '9' ){

```

This applies to all characters. [See your ascii table](http://www.asciitable.com/).

[ctype.h](http://www.acm.uiuc.edu/webmonkeys/book/c_guide/2.2.html) also provides functions to do this for you.