# 문자열 뒤집기 ## 문제 주어진 뼈대코드는 포인터를 사용하여 문자열을 뒤집고있다. 프로그램의 수행과정을 주석으로 분석하시오. ## 출력 예 ``` str: "Do not learn C Language!" reverse: "" str.length: ``` ## 뼈대코드 ``` #include <stdio.h> void reverse(char *); int string_length(char *); void swap(char *, char *); int main(int argc, char *argv[]) { char str[] = "Do not learn C Language!"; reverse(str); printf("%s\n", str); printf("length: %d\n", string_length(str)); return 0; } void reverse(char *arr) { int length = string_length(arr); int i = 0; int j = (length - 1) - i; while (i < j) { printf("[%2d, %2d] => ", i, j); swap(arr + i, arr + j); printf("%s\n", arr); i++; j--; } } int string_length(char *s) { int length = 0; while (*s++ != NULL) { length++; } return length; } void swap(char *a, char *b) { char tmp = *a; *a = *b; *b = tmp; } ```
관련 강의로 이동

코드: C (gcc 6.3)

#include <stdio.h> int main(int argc, char* argv[]) { return 0; }

입력

정답이 궁금하다면? 코드를 제출해보세요!