int x = 1,y = 1,z = 1;
++x || ++y && ++z;
printf("%d%d%d",x,y,z);
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.