logo

Omgekeerde string in C

Het omkeren van een string in C is een fundamentele handeling waarbij de karakters in een string worden herschikt, zodat het laatste karakter het eerste wordt, het op een na laatste karakter het tweede, enzovoort.

Bijvoorbeeld,

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

In dit artikel bespreken we verschillende manieren om een ​​string in C om te keren met codevoorbeelden.



Verschillende manieren om een ​​string in C om te keren

Er zijn verschillende manieren om de snaar in de C om te keren. Enkele daarvan worden hieronder besproken:

  1. Keer de string om met behulp van een lus
  2. Keer de tekenreeks om met behulp van recursie
  3. Keer de tekenreeks om met behulp van de aanwijzer in C
  4. Keer de string om met behulp van de bibliotheekfunctie

1. Keer de string om met behulp van een lus

Bij deze methode

  • We gebruiken een for-lus met twee variabelen i en j die respectievelijk naar het begin en het einde van de string verwijzen.
  • Vervolgens vervangen we de tekens op de indexen i en j, en gaan respectievelijk naar de aangrenzende rechter en linker zijde, d.w.z. we verhogen i en verlagen j.
  • We blijven dat doen totdat i groter is dan of gelijk is aan j.

We krijgen de omgekeerde string als resultaat.

Implementatie

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

>

>

Uitvoer

priemgetal Java
Original String: string Reversed String: gnirts>

2. Keer de tekenreeks om met behulp van recursie

Voor deze methode gebruiken we recursie om de tekens te verwisselen.

Implementatie

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

>

>

Java-exemplaar van
Uitvoer

Original String: string Reversed String: gnirts>

3. Keer de tekenreeks om met behulp van de aanwijzer in C

We zullen hier twee aanwijzers gebruiken, de ene is de startaanwijzer en de andere is de eindaanwijzer. en door het karakter te verwisselen zullen we doorgaan met het omkeren van de karakters, vergelijkbaar met wat we in de eerste methode hebben gedaan.

Implementatie

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

>

>

Uitvoer

Original String: string Reversed String: gnirts>

4. Keer de string om met behulp van de bibliotheekfunctie

In C hebben we een bibliotheekfunctie gedefinieerd die kan worden gebruikt om een ​​string om te keren. De functie strrev() biedt de eenvoudigste methode om de tekenreeks om te keren.

Syntaxis

char* strrev(char* str);>

waarbij str de string is die moet worden omgekeerd.

Opmerking: De functie strrev() maakt geen deel uit van de standaardtaal C en is dus mogelijk niet in elke compiler aanwezig.

Implementatie

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

>

>

bash splitst de tekenreeks op door een scheidingsteken

Uitvoer

Original String: string Reversed String: gnirts>