다음 C언어 프로그램이 실행되었을 때의 결과는?
#include <stdio.h>
int main(void) {
int n1 = 1, n2 = 2, n3 = 3;
int r1 = (n2 <= 2) || (n3 > 3);
int r2 = !n3;
int r3 = (n1 > 1) && (n2 < 3);
printf("%d", r3 - r2 + r1);
return 0;
}정답 2번
n2 <= 2는 참이므로 OR 식 r1은 1이고 오른쪽 조건을 더 평가할 필요가 없다. n3는 0이 아닌 3이므로 !n3는 0이다. n1 > 1은 거짓이므로 AND 식 r3은 0이다. C의 논리 연산 결과는 참이면 1, 거짓이면 0이므로 출력식은 0 - 0 + 1 = 1이 된다.
콘텐츠 정보
- 자료 유형
- 편집복원
- 검수 상태
- 내용 검수 완료
- 해설 작성·검수
- 정처LAB 편집 기준
- 최종 검수
- 2026-08-21