다음 C프로그램의 MAX 값으로 옳은 것은?#include <st… | [법원직 9급 전산·사서 컴퓨터일반] 25년 1회차 기출문제 상세 페이지
1[법원직 9급 전산·사서 컴퓨터일반] 25년 1회차
다음 C프로그램의 MAX 값으로 옳은 것은?
| #include <stdio.h> int find_Max(int *a, int len) { int maxval = 0; for(int i = 0; i < len; i = i + 2) { if (maxval < a[i]) maxval = a[i]; } return maxval; } void main() { int arr[10] = {2, 88, 3, 23, 30, 17, 43, 77, 26, 65}; int max = find_Max(arr, 10); printf(“MAX = %d \n”, max); } |
1
88
2
30
3
43
4
77
해설
함수가 돌려주는 MAX 값은 43이다.
반복문이 i = i + 2로 증가하므로 짝수 인덱스 원소만 비교한다.
a[0] = 2 → maxval = 2
a[2] = 3 → maxval = 3
a[4] = 30 → maxval = 30
a[6] = 43 → maxval = 43
a[8] = 26 → 변경 없음
- 88: a[1]의 값으로, 홀수 인덱스라 비교 대상이 아니다.
- 30: 중간에 maxval이 되지만 a[6]의 43으로 갱신된다.
- 77: a[7]의 값으로, 홀수 인덱스라 비교 대상이 아니다.
오류나 개정된 내용이 보이면 알려주세요