문제
아래 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으로 출력될 수 있다.