title: C Relational Operator Output
body: <pre><code>#include &lt;stdio.h&gt;
  void main()
  {
      int x = 1, y = 0, z = 5;
      int a = x &amp;&amp; y || z++;
      printf("%d", z);
  }
  </code></pre>
  
  <p>This yields output as 6 whereas</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  void main()
  {
      int x = 1, y = 0, z = 5;
      int a = x &amp;&amp; y &amp;&amp; z++;
      printf("%d", z);
  }
  </code></pre>
  
  <p>this would yield answer as 5. WHY ?? Someone please explain.</p>