title: Explanation about Output in C
body: <p>So I have the following code snippet in C:</p>
  <pre><code>int a = 25, b = 100, c;
  if (b++ &lt;= (a * 4))
    c = 3;
  else
    c = 20;
  printf (&quot;%f\n&quot;, (float) (b / c));
  </code></pre>
  <p>When I ran the code, the output returned the value <strong>33.0000</strong>. I was expecting the output to be <strong>33.6667</strong>.
  I was wondering why was it so?
  My calculations are as follows:</p>
  <ul>
  <li>In line 2, b is incremented post-operation, and therefore while the statement will return true (100 &lt;= 25*4), the value of b after this operation will be 101.</li>
  <li>In the output, we calculate 101/3, which should return 33.6667</li>
  <li>This is not the case, however.</li>
  </ul>
  <p>Thank you for your help!!</p>