Why I am getting this output. Need Explanation :         #include <stdio.h>
        int main()
        {
           int x, y, z; 
           x=y=z=3; 
           z = ++x || ++y && ++z; 
           printf("%d, %d, %d", x, y,z);
           return 0;
        }

I am getting output 2, 1, 1. I need and explanation why Y is 1 in output?

