title: #define TRUE !FALSE vs #define TRUE 1
body: <p>Putting aside the fact that since c99 the <a href="http://pubs.opengroup.org/onlinepubs/009695399/basedefs/stdbool.h.html" rel="nofollow"><code>stdbool.h</code></a> has existed, when defining macros to handle Boolean types in <code>C</code> is there any difference between the following?</p>
  
  <pre><code>#define FALSE 0
  
  #define TRUE 1       // Option 1 
  #define TRUE !FALSE  // Option 2
  </code></pre>
  
  <p><a href="http://ideone.com/fIz152" rel="nofollow">From the live example here</a>, it doesn't seem to make a difference. Is there a technical benefit to either option? (Not including the fact that the second example would work better with c++ <code>bool</code> objects.)</p>