title: please help me out with the working of the c program
body: <pre><code>int x = 1,y = 1,z = 1;
  
  ++x || ++y &amp;&amp; ++z;
  
  printf("%d%d%d",x,y,z);
  </code></pre>
  
  <p>it is giving the output of 2,1,1. But how these unary operators and logical operators are working to give such a result i cant understand. Whether only unary operator working only for first case and not for others. C doesnot ave any boolean datatype also. Please help me with my problem. </p>