[7급 국가직 자료구조론 2020년 10번]

다음 C 언어 프로그램의 출력 결과는?
#include <stdio.h>

#define SWAP(x, y, t) ((t)=(x), (x)=(y), (y)=(t))

void recursive(char *list, int i, int n) {
	int j, temp;
	if (i == n) {
		for (j = 0 ; j <= n ; j++)
			printf("%c", list[j]);
		printf(" ");
	}
	else {
		for (j = i ; j <= n ; j++) {
			SWAP(list[i], list[j], temp);
			recursive(list, i + 1, n);
			SWAP(list[i], list[j], temp);
		}
	}
}

int main()
{
	char list[3] = {'a', 'b', 'c'};
	recursive(list, 0, 2);
}
자료구조론
  1. ①ab ac bc
  2. ②ab bc ca
  3. ③abc acb bac bca cba cab
  4. ④abc acb bca bac cab cba

선지를 골라 바로 채점해 보세요.

정답 ③

출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)

신고가 접수됐습니다. 감사합니다.

오류 신고