변수에 논리연산자가 들어가게 되면 어떻게 연산을 하는지...?? 그리고 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?
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
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?
댓글 달기