&&연산자 질문입니다.
역곡중
2023.04.01
질문 내용 :
#includestdio.h
main() {
int x = 0, y = 1, z = 2;
printf(%d\n, --x && --y || --z);
printf(%d %d %d\n, x, y, z);
}
a && b 와 같이 하였을때 a가 false이면 b를 확인하지 않고 처리하지 않습니까??
근데 위에 코딩첫번째 printf에서 --x가 음수가 되니깐 --y 와 --z를 처리하지 않고 넘어가야 정상인데
왜 컴파일 해보면
결과값이
1
-1 0 1
이 출력되는 거죠??(연산자 우선순위도 || 보다 &&가 우선인데 말이죠)
제 생각에는
0
-1 1 2
가 출력되어야 정상인거 같은데 말이죠..
혹시 아시는분 답변부탁드립니다..