24-1아래 C 프로그램의 출력 결과를 적으시오.#include <… | 2024년 정보처리기사실기 1회차 기출문제 상세 페이지
5
24-1
아래 C 프로그램의 출력 결과를 적으시오.
#include <stdio.h>
#include <string.h>
void flip(char *lo, char *hi) {
char tmp;
while (lo < hi) {
tmp = *lo;
*lo++ = *hi;
*hi-- = tmp;
}
}
int main(void) {
char text[20] = "KLMNOPQ";
int n = strlen(text);
flip(text, text + n - 1);
for (int i = 0; i < n; i += 3)
printf("%c", text[i]);
printf("\n");
return 0;
}해설
QNK
[해설]
flip은 양 끝 포인터를 안쪽으로 좁혀 가며 문자를 맞바꾸므로 문자열을 제자리에서 뒤집는다.
- 원래: K L M N O P Q (길이 7)
- 뒤집은 뒤: Q P O N M L K
- i = 0, 3, 6 → text[0] = Q, text[3] = N, text[6] = K
출력은 QNK다. 길이가 홀수라 가운데 N은 제자리에 남는다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.