logo

Reverse-String in C

Das Umkehren einer Zeichenfolge in C ist eine grundlegende Operation, bei der die Zeichen in einer Zeichenfolge neu angeordnet werden, sodass das letzte Zeichen zum ersten, das vorletzte Zeichen zum zweiten usw. wird.

Zum Beispiel,



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

In diesem Artikel besprechen wir anhand von Codebeispielen verschiedene Möglichkeiten, eine Zeichenfolge in C umzukehren.

Verschiedene Möglichkeiten, einen String in C umzukehren

Es gibt verschiedene Möglichkeiten, die Zeichenfolge im C umzukehren. Einige davon werden im Folgenden erläutert:

  1. Kehren Sie die Zeichenfolge mithilfe einer Schleife um
  2. Kehren Sie die Zeichenfolge mithilfe der Rekursion um
  3. Kehren Sie den String mithilfe eines Zeigers in C um
  4. Kehren Sie die Zeichenfolge mithilfe der Bibliotheksfunktion um

1. Kehren Sie die Zeichenfolge mithilfe einer Schleife um

Bei dieser Methode



  • Wir verwenden eine for-Schleife mit zwei Variablen i und j, die jeweils auf den Anfang und das Ende der Zeichenfolge zeigen.
  • Dann ersetzen wir die Zeichen an den Indizes i und j und bewegen uns nach rechts bzw. links, d. h. indem wir i inkrementieren und j dekrementieren.
  • Das machen wir so lange, bis i größer oder gleich j ist.

Als Ergebnis erhalten wir die umgekehrte Zeichenfolge.

Implementierung

C






// 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;> }>

>

>

Ausgabe

Algorithmus für BFS
Original String: string Reversed String: gnirts>

2. Kehren Sie die Zeichenfolge mithilfe der Rekursion um

Bei dieser Methode verwenden wir die Rekursion, um die Zeichen auszutauschen.

Implementierung

C




// 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; }>

>

>

b+ Bäume
Ausgabe

Original String: string Reversed String: gnirts>

3. Kehren Sie den String mithilfe eines Zeigers in C um

Wir werden hier zwei Zeiger verwenden, einen Startzeiger und einen Endzeiger. Und indem wir die Zeichen austauschen, die wir erreichen wollen, kehren wir die Zeichen um, ähnlich wie wir es in der ersten Methode getan haben.

Implementierung

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; }>

>

>

Ausgabe

Original String: string Reversed String: gnirts>

4. Kehren Sie die Zeichenfolge mithilfe der Bibliotheksfunktion um

In C haben wir eine darin definierte Bibliotheksfunktion, die zum Umkehren einer Zeichenfolge verwendet werden kann. Die Funktion strrev() bietet die einfachste Methode zum Umkehren der Zeichenfolge.

Äquivalenzgesetze

Syntax

char* strrev(char* str);>

Dabei ist str die Zeichenfolge, die umgekehrt werden soll.

Notiz: Die Funktion strrev() ist nicht Teil der Standardsprache C und daher möglicherweise nicht in jedem Compiler vorhanden.

Implementierung

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;> }>

>

>

Ausgabe

Original String: string Reversed String: gnirts>