문제
아래 C 코드의 출력 결과는?
C#include <stdio.h> int main() { int a, b, c; a = 5 > 0 && 10 > 0; b = 3 > 5 || 7 > 5; c = 10 >> 3; printf("%d %d %d", a, b, c); return 0; }
① 0 1 1 ② 1 1 1 ③ 1 0 0 ④ 0 0 1
정답
2번
해설
정답: 2. 첫 번째 논리식은 참, 두 번째 논리식도 참이고, 10을 오른쪽으로 3비트 이동하면 1이다.
오답 풀이
- 1번: 첫 번째 조건식은 참이므로 0이 아니다.
- 2번:
1 1 1이 맞다. - 3번: 두 번째 조건식은 참이고 비트 이동 결과도 1이다.
- 4번: 첫 번째와 두 번째 조건식 결과가 틀렸다.
보충 개념 C언어에서 참은 1, 거짓은 0으로 출력될 수 있다.