논리 연산자 문제좀 이해 시켜주세요
아잉누님
2023.04.01
질문 제목 : 질문 내용 :
int i,j;
i=2&&(j=2);
printf(%d %d\n,i,j); /*1 2 printed*/
(i=0)&&(j=3);
printf(%d %d\n,i,j); /*0 2 printed*/
i=0&&(j=4);
printf(%d %d\n,i,j); /*14 printed*/
(i=2)&&(j=5);
printf(%d %d\n,i,j); /*2 4printed*/
-
Regretting
중간에 j에 3을 넣는데 2가 출력되는 부분과 5를 넣었는데 4가 출력되는 부분은 이상하군요.
i = 2 && (j=2);
1. j = 2가 됩니다
2. (2 && 2)는 두 비굣값이 참(!=0)이므로 i에는 참(1)이 기입됩니다.