Continuing the list on needed clean ups the following statement is unaccurate C supports a strict boolean type bool Statements that take conditions such as while and if require an expression of a boolean type While C and C also have a boolean type C does not have a native boolean type although a type bool or boolean is defined by many libraries and conditions for if for while statements must be of arithmetic or pointer type according to K R second edition I had edited this myself rephrasing the statement but edited back since I felt someone might do it better