정보처리기사 실기C언어C 구조체난이도 4MCQ

정보처리기사 실기 C 구조체 기출문제 #3907

문제

다음 C 코드의 출력 결과로 가장 적절한 것은?

C
#include <stdio.h> struct Node { struct Node* next; unsigned int x; }; int main() { struct Node t1 = { 0, 5u }; struct Node t2 = { 0, 7u }; struct Node t3 = { 0, 11u }; t3.next = &t2; t2.next = &t1; struct Node* curr = &t3; int sum = 0; while (curr) { sum = sum * 3 + curr->x; curr = curr->next; } sum = (sum ^ 42u) + 100u; printf("%u\n", sum); }

① 187 ② 145 ③ 287 ④ 42

정답

1

해설

정답: 1. 연결 순서는 t3(11) → t2(7) → t1(5)이다. sum은 0→11→40→125가 되고, 125 ^ 42는 87이므로 100을 더해 187이 출력된다.

오답 풀이

  • 1번: 연결 리스트 순회와 XOR 계산이 맞다.
  • 2번: XOR 연산을 잘못 계산한 값이다.
  • 3번: 100을 더하는 위치 또는 값이 잘못된 결과이다.
  • 4번: XOR에 사용된 상수만 본 값이다.

보충 개념 ^는 C에서 비트 XOR 연산자이다. 연결 리스트는 next 포인터가 가리키는 순서대로 순회한다.

정보처리기사 실기 시험 준비 가이드

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[정보처리기사 실기] C 구조체 C언어 기출 #3907 | 문어CBT