As far as I can see there are 3 ways to use booleans in c
#defin
Whichever of the three you go with, compare your variables against FALSE, or false.
Historically it is a bad idea to compare anything to true (1) in c or c++. Only false is guaranteed to be zero (0). True is any other value. Many compiler vendors have these definitions somewhere in their headers.
#define TRUE 1
#define FALSE 0
This has led too many people down the garden path.
Many library functions besides chartype return nonzero values not equal to 1 on success. There is a great deal of legacy code out there with the same behavior.