title: Why is this happening with the sizeof operator when comparing with a negative number?
body: <p>What's really happening here? The output now is "False":</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  
  int main()
  {
       if (sizeof(int) &gt; any_negative_integer)
           printf("True");
       else
           printf("False");
       return 0;
  }
  </code></pre>
  
  <p>If I change it to:</p>
  
  <pre><code>if (sizeof(int) &lt; any_negative_integer)
  </code></pre>
  
  <p>the output is "True".</p>
  
  <p>Update: the <a href="https://stackoverflow.com/questions/17293749/sizeof-operator-in-if-statement">same question</a> has already been asked, I could not find it before asking.</p>