SQLD프로그래밍 언어 활용난이도 4MCQ

SQLD 프로그래밍 언어 활용 기출문제 #3317

문제

다음 C 프로그램의 실행 결과는?

#include <stdio.h> void modify(int arr[], int size) { for(int i = 0; i < size; i++) { arr[i] = arr[i] * 2; } } int main() { int data[3] = {1, 2, 3}; modify(data, 3); printf("%d %d %d", data[0], data[1], data[2]); return 0; }

① 1 2 3 ② 2 4 6 ③ 1 4 9 ④ 컴파일 오류

정답

2

해설

C언어에서 배열을 함수에 전달할 때는 배열의 주소가 전달되므로(call by reference), modify 함수에서 배열 요소를 수정하면 원본 배열이 변경된다. 각 요소에 2를 곱하므로 1→2, 2→4, 3→6이 된다. 배열 전달 방식과 포인터의 복합적 이해가 필요한 고난도 문제이다.

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

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

[SQLD] 프로그래밍 언어 활용 기출 #3317 | sqldpass