When i run the following code
main()
{
int i=-3,j=2,k=0,m;
m=++i&&++j||++k;
printf("\n %d %d %d %d " ,i,j,k,m);
}
the result i get is
-2 3 0 1
What i'm not able to understand is that why the value of k is not incremented??
I was trying different things with the expression , i noticed that if i use m=++i&&++j&&++k; instead of the original expression the result is
-2 3 1 1
i.e. this time k has been incremented ...WHY??