변수에 논리연산자가 들어가게 되면 어떻게 연산을 하는지...?? 그리고 z값이 2가 아닌 1이 나오는 이유도...??
int x = -1, y = -1, z = 1, k; k = ++x || ++y && ++z; printf("%d %d %d %d", k, x, y, z);
x || y x가 참이면 y 계산 안합니다.
x && y x가 거짓이면 y 계산 안합니다.
++x || ++y x = 0 y = 0 고로 거짓(0) k는 거짓(0)
k=0 x=0 y=0 z=1
ok? ------------------------------ How many legs does a dog have?
------------------------------ How many legs does a dog have?
x || y x가 참이면 y
x || y
x가 참이면 y 계산 안합니다.
x && y
x가 거짓이면 y 계산 안합니다.
++x || ++y
x = 0
y = 0
고로 거짓(0)
k는 거짓(0)
k=0
x=0
y=0
z=1
ok?
------------------------------
How many legs does a dog have?
------------------------------
How many legs does a dog have?