|Synopsis:||To clarify the actual test performed in a selection statement, there should be an explicit comparison operator unless the compared object is of effectively 'Boolean' type.|
This means avoiding implicit comparison of char data against ‘\\\\\\\\0’, integral data against 0 and pointer data against the null pointer.
int a; ... if ( a ) /* WRONG - compare should be explicit */
int a; ... if ( a > 0 ) /* RIGHT */
Since C has no built-in boolean type, a boolean type should be defined in a library.
typedef int boolean;