logo

Omvendt streng i C

Å reversere en streng i C er en grunnleggende operasjon som innebærer å omorganisere tegnene i en streng slik at det siste tegnet blir det første, det nest siste tegnet blir det andre, og så videre.

For eksempel,



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

I denne artikkelen vil vi diskutere forskjellige måter å reversere en streng i C med kodeeksempler.

Ulike måter å snu en streng på i C

Det er forskjellige måter å snu strengen i C. Noen av dem er diskutert nedenfor:

  1. Snu strengen ved å bruke sløyfe
  2. Snu strengen ved hjelp av rekursjon
  3. Snu strengen ved å bruke pekeren i C
  4. Snu strengen med bibliotekfunksjonen

1. Snu strengen ved å bruke sløyfe

I denne metoden,



  • Vi bruker en for-løkke med to variabler i og j som peker på henholdsvis begynnelsen og slutten av strengen.
  • Vi erstatter tegnene ved indeksene i og j, og flytter til henholdsvis høyre og venstre ved siden av, dvs. øker i og reduserer j.
  • Vi fortsetter å gjøre det til i er større enn eller lik j.

Vi får den omvendte strengen som resultat.

Gjennomføring

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

>

>

Produksjon

tegn til int java
Original String: string Reversed String: gnirts>

2. Snu strengen ved hjelp av rekursjon

For denne metoden vil vi bruke rekursjon for å bytte tegn.

Gjennomføring

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

>

>

c++ par
Produksjon

Original String: string Reversed String: gnirts>

3. Snu strengen ved å bruke pekeren i C

Vi vil her bruke to pekere, en er startpeker og en annen er sluttpeker. og ved å bytte karakteren vi vil fortsette for å oppnå, reversere tegnene som ligner på det vi har gjort i den første metoden.

Gjennomføring

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

>

>

Produksjon

Original String: string Reversed String: gnirts>

4. Snu strengen med bibliotekfunksjonen

I C har vi en bibliotekfunksjon definert inne som kan brukes til å reversere en streng. Strrev()-funksjonen gir den enkleste metoden for å reversere strengen.

Syntaks

char* strrev(char* str);>

hvor str er strengen som skal reverseres.

Merk: Strrev()-funksjonen er ikke en del av standard C-språk, så det kan hende den ikke finnes i alle kompilatorer.

Gjennomføring

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

>

java kast unntak

>

Produksjon

Original String: string Reversed String: gnirts>