No, actually, you should use 'int' here. All of the 'is*( )' functions, all of the 'getc' and 'putc' functions take integers as arguments, and return integers as return values. Additionally, if you're reading from a file, the EOF value is outside a 'char', so you have to read into an int to get the correct end result. As such, yes, use 'int'.
Naughty!.. what's this?.. int choice = 0;
And you're trying to input a character right?
Well, you must replace int choice = 0; with char choice = 'x';