논리연산자좀 알려주세요!
우솔
2023.04.01
질문 제목 :y수가 바뀌는걸 모르겠어요
질문 내용 :
#includestdio.h
int main(){
int x=5,y=2,z=0;
(x||(y=5));
printf(%d,%d,%d\n,x,y,z);
x&&z||(y=1);
printf(%d\n,x+y+z);
printf(%d,%d,%d\n,x,y,z);
}
첫부분 출력은y가 변하지 않고 2로 출력되는데요 마지막 출력은 y가 1로 바뀝니다.. 왜그러는지 모르겠습니다ㅠ.ㅠ
-
링고
아 정말감사합니다^^!!!
-
유리
첫번째 출력은 x가 5라서 true이기 때문에 y가 변하지 않구요. (이미 true라서 뒤의값을 수행하지 않죠.)
두번째는 x&&z가 false라서 y값이 변한겁니다. (이건 false니까 뒤의값을 수행한거구요.)