정보처리기사 실기C언어C - 구조체 배열과 typedef난이도 3SHORT_ANSWER

정보처리기사 실기 C - 구조체 배열과 typedef 기출문제 #3142

문제

다음 C 코드의 실행 결과를 쓰시오.

C
#include <stdio.h> typedef struct { int level; int value; } Node; int process(Node n) { if (n.level <= 0) return n.value; Node left = {n.level - 1, n.value * 2}; Node right = {n.level - 1, n.value + 3}; return process(left) + process(right); } int main() { Node root = {3, 1}; printf("%d", process(root)); return 0; }

정답

63

63

해설

process({3,1})은 두 자식 노드를 생성한다: left={2,2}, right={2,4}. process({2,2})는 left={1,4}, right={1,5}를 생성하여 4+5=9를 반환. process({2,4})는 left={1,8}, right={1,7}을 생성하여 8+7=15를 반환. process({1,4})는 left={0,8}, right={0,7}을 생성하여 8+7=15를 반환. process({1,5})는 left={0,10}, right={0,8}을 생성하여 10+8=18을 반환. process({1,8})는 left={0,16}, right={0,11}을 생성하여 16+11=27을 반환. process({1,7})는 left={0,14}, right={0,10}을 생성하여 14+10=24를 반환. 최종 결과: (15+18)+(27+24) = 33+30 = 63

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

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

[정보처리기사 실기] C - 구조체 배열과 typedef C언어 기출 #3142 | sqldpass