다음 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; }
정답 2번
k%=n에 의해 7%5=2가 된다. 한 번에 맨 앞 원소를 뒤로 보내므로 두 번 회전한 결과는 3,4,5,1,2이다.
콘텐츠 정보
- 자료 유형
- 사용자 제공 복원 자료
- 검수 상태
- 문항·보기·해설 편집 확인
- 해설 작성·검수
- 정처LAB 편집팀
- 최종 검수
- 2026-07-26