logo

C의 역방향 문자열

C에서 문자열 반전은 마지막 문자가 첫 번째 문자가 되고, 마지막에서 두 번째 문자가 두 번째 문자가 되도록 문자열의 문자를 재배열하는 것과 관련된 기본적인 작업입니다.

예를 들어,

Original String: 'string'  Reversed String: 'gnirts'>

이 기사에서는 코드 예제를 통해 C에서 문자열을 뒤집는 다양한 방법에 대해 설명합니다.



C에서 문자열을 뒤집는 다양한 방법

C에서 문자열을 뒤집는 방법에는 여러 가지가 있습니다. 그 중 일부는 아래에서 설명합니다.

  1. 루프를 사용하여 문자열 반전
  2. 재귀를 사용하여 문자열 뒤집기
  3. C에서 포인터를 사용하여 문자열 반전
  4. 라이브러리 함수를 사용하여 문자열 반전

1. 루프를 사용하여 문자열 반전

이 방법에서는

  • 문자열의 시작과 끝을 각각 가리키는 두 개의 변수 i와 j가 있는 for 루프를 사용합니다.
  • 인덱스 i와 j의 문자를 교체하고 인접한 오른쪽과 왼쪽으로 각각 이동합니다. 즉, i는 증가하고 j는 감소합니다.
  • i가 j보다 크거나 같을 때까지 계속 그렇게 합니다.

결과적으로 역방향 문자열을 얻습니다.

구현




// C program to reverse the string in C using loops> #include> #include> int> main()> {> >// string to be reversed.> >char> str[100] =>'string'>;> >printf>(>'Original String: %s '>, str);> >// string length> >int> len =>strlen>(str);> >// for loop> >for> (>int> i = 0, j = len - 1; i <= j; i++, j--) {> >// swapping characters> >char> c = str[i];> >str[i] = str[j];> >str[j] = c;> >}> >printf>(>'Reversed String: %s'>, str);> >return> 0;> }>

>

>

산출

자바 유형 변수
Original String: string Reversed String: gnirts>

2. 재귀를 사용하여 문자열 뒤집기

이 방법에서는 재귀를 사용하여 문자를 교환합니다.

구현




// C program to reverse string using recursion> #include> #include> // recursive function to reverse string> void> reverse(>char>* str,>int> len,>int> i,>int> temp)> {> >// if current index is less than the remaining length of> >// string> >if> (i temp = str[i]; str[i] = str[len - 1]; str[len - 1] = temp; i++; len--; reverse(str, len, i, temp); } } // driver code int main() { char str[100] = 'string'; printf('Original String: %s ', str); int len = strlen(str); reverse(str, len, 0, 0); printf('Reversed String: %s', str); return 0; }>

>

>

CSS 배경
산출

Original String: string Reversed String: gnirts>

삼. C에서 포인터를 사용하여 문자열 반전

여기서는 두 개의 포인터를 사용합니다. 하나는 시작 포인터이고 다른 하나는 끝 포인터입니다. 그리고 우리가 달성할 문자를 교환함으로써 첫 번째 방법에서 수행한 것과 유사한 문자를 반전시킵니다.

구현




// C program to reverse a string using pointers> #include> #include> // function to reverse the string> void> stringReverse(>char>* str)> {> >int> len =>strlen>(str);> >// pointers to start and end> >char>* start = str;> >char>* end = str + len - 1;> >while> (start char temp = *start; *start = *end; *end = temp; start++; end--; } } // driver code int main() { char str[] = 'string'; printf('Original String: %s ', str); // calling function stringReverse(str); printf('Reversed String: %s', str); return 0; }>

>

>

mylivecricket 대안
산출

Original String: string Reversed String: gnirts>

4. 라이브러리 함수를 사용하여 문자열 반전

C에는 문자열을 뒤집는 데 사용할 수 있는 라이브러리 함수가 내부에 정의되어 있습니다. strrev() 함수는 문자열을 반전시키는 가장 간단한 방법을 제공합니다.

통사론

char* strrev(char* str);>

여기서 str은 반전할 문자열입니다.

메모: strrev() 함수는 표준 C 언어의 일부가 아니므로 모든 컴파일러에 존재하지 않을 수도 있습니다.

구현




// C program to reverse a string using strrev()> #include> #include> int> main()> {> >char> str[] =>'string'>;> >printf>(>'Original String: %s '>, str);> >// reversing string> >printf>(>'Reversed String: %s'>, strrev(str));> >return> 0;> }>

>

>

산출

Original String: string Reversed String: gnirts>