>>Could anyone explain to me how the complier end up with this output. i think i know how the

>>logical operators works

Sure:

int i=4,j=-1,k=0,w,x,y,z;

w=i||j||k;

The above is a logical "OR", meaning that w will be set to TRUE when either i, j, or k are non-zero

x=i&&j&&k;

This is a logical "AND", which will assign TRUE to x when all i, j and k are non-zero

y=i||j&&k;

That expression will set y to TRUE when either i is non-zero or both j and k are - the precedence or "AND" (&&) is higher than "OR" (||)

z=i&&j||k;

Here, z will be set to TRUE when both i and j are non-zero or either j or k is.

>>logical operators works

Sure:

int i=4,j=-1,k=0,w,x,y,z;

w=i||j||k;

The above is a logical "OR", meaning that w will be set to TRUE when either i, j, or k are non-zero

x=i&&j&&k;

This is a logical "AND", which will assign TRUE to x when all i, j and k are non-zero

y=i||j&&k;

That expression will set y to TRUE when either i is non-zero or both j and k are - the precedence or "AND" (&&) is higher than "OR" (||)

z=i&&j||k;

Here, z will be set to TRUE when both i and j are non-zero or either j or k is.