Att vända om en sträng i C är en grundläggande operation som innebär att man ordnar om tecknen i en sträng så att det sista tecknet blir det första, det näst sista tecknet blir det andra och så vidare.
Till exempel,
Original String: 'string' Reversed String: 'gnirts'>
I den här artikeln kommer vi att diskutera olika sätt att vända en sträng i C med kodexempel.
Olika sätt att vända en sträng i C
Det finns olika sätt att vända strängen i C. Några av dem diskuteras nedan:
- Vänd om strängen med loop
- Vänd om strängen med hjälp av rekursion
- Vänd om strängen med hjälp av pekaren i C
- Vänd om strängen med hjälp av biblioteksfunktionen
1. Vänd om strängen med loop
I denna metod,
- Vi använder en for-loop med två variabler i och j som pekar mot början respektive slutet av strängen.
- Vi ersätter tecknen vid index i och j, och flyttar till intilliggande höger respektive vänster, dvs. ökar i och minskar j.
- Vi fortsätter att göra det tills i är större än eller lika med j.
Vi får den omvända strängen som resultat.
Genomförande
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;> }> |
>
>Produktion
java ersätt tecken i sträng
Original String: string Reversed String: gnirts>
2. Vänd om strängen med hjälp av rekursion
För denna metod kommer vi att använda rekursion för att byta tecken.
Genomförande
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; }> |
>
>
normala formerProduktion
Original String: string Reversed String: gnirts>
3. Vänd om strängen med hjälp av pekaren i C
Vi kommer att använda här två pekare, en är startpekare och en annan är slutpekare. och genom att byta karaktär vi kommer att fortsätta för att uppnå, vända om tecken som liknar vad vi gjorde i den första metoden.
Genomförande
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; }> |
>
>
ridhima tiwariProduktion
Original String: string Reversed String: gnirts>
4. Vänd om strängen med hjälp av biblioteksfunktionen
I C har vi en biblioteksfunktion definierad inuti som kan användas för att vända en sträng. Strrev()-funktionen ger den enklaste metoden för att vända strängen.
Syntax
char* strrev(char* str);>
där str är strängen som ska vändas.
Notera: Strrev()-funktionen är inte en del av standardspråket C, så den kanske inte finns i alla kompilatorer.
Genomförande
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;> }> |
>
>
Produktion
Original String: string Reversed String: gnirts>