Solved

# Very basic C question

Posted on 2004-08-04
Medium Priority
754 Views
hi experts,
i am a student and learnning C by myself, just started .
i wrote a small basic program using logical operators shown below,
int i=4,j=-1,k=0,w,x,y,z;
clrscr();
w=i||j||k;
x=i&&j&&k;
y=i||j&&k;
z=i&&j||k;
printf ("\n w=%d x=%d y=%d z=%d ",w,x,y,z);
i got the output like this. w = 1 ,x= 0, y = 1, z = 1. Could anyone explain to me how the complier end up with this output. i think i know how the logical operators works. I will appreciate if you explain in a simple way since i am novice to C.
0
Question by:deepthiji

LVL 86

Accepted Solution

jkr earned 2000 total points
ID: 11722276
>>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.
0

LVL 3

Author Comment

ID: 11722299
Thanks a lot, That was quick
points for you and hope the same help in the future.
thanks once again for the help.
0

## Featured Post

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.