다음 C 프로그램의 출력 결과는?
#include <stdio.h>
void rotate(int *a, int n, int k) {
k %= n;
while (k--) {
int first = a[0];
int i;
for (i = 0; i < n - 1; i++) {
a[i] = a[i + 1];
}
a[n - 1] = first;
}
}
int main(void) {
int arr[] = {1, 2, 3, 4, 5};
rotate(arr, 5, 7);
int i;
for (i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
return 0;
}- ①1 2 3 4 5
- ②3 4 5 1 2
- ③4 5 1 2 3
- ④5 1 2 3 4
정답 ②
출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)