8D. Standards for Boolean Expressions

Only use boolean operations on boolean values

Boolean operations (!, && and ||) should only be used on boolean values (which are known to be 0 or 1). Do not use them on integers, pointers, etc. (But see the exception in the next entry.)