Some things every C programmer should know about C (2002)
<p><pre><code>  > There is an implicit "x != 0" in: if (x), while (x), ... etc.
  > An explicit "x != 0" in these contexts serves no semantic purpose.
  > And "x == 0" in these contexts might be better written as "!x".
</code></pre>
I disagree with this advice because the idea is not portable across languages.<p>For example, if we let the variable x hold the integer value 0, then:<p><pre><code>  Java    'if (x)' is a compile-time type error.
  Python  'if x:'  is falsy, similar to C.
  Ruby    'if x'   is truthy!</code></pre>