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.