Hvordan Reverse String i C Bruke Arrays Uten Krysser flere ganger

Reversering en streng i C er en god øvelse for å trene på forståelse av karakter arrays, loops og midlertidig lagring. Et program for traversering strengen en eneste gang for å reversere det er mer effektivt enn et program som har til å traversere den flere ganger. Dette er spesielt viktig når man arbeider med meget store strenger. Spør en programmering jobb kandidat til å skrive noen variant av en enkel C string-rygging algoritme gjør dette til en populær jobb intervju spørsmål.

Bruksanvisning

1 Åpne C kildefilen i et redigeringsprogram, for eksempel Microsoft Visual Studio.

2 Ta de nødvendige C header filer for programmet ved å legge til følgende kode på toppen av filen:

inkludere "stdafx.h" include "stdio.h" // printf, scanfinclude "string.h" // strlen

3 Erklærer og initialisere variabler som er nødvendige for programmet ved å legge til følgende kode på toppen av din viktigste funksjon:

røye str [40];
int a, b, lengde;
char temp;
a = b = lengde = temp = 0;

4 Spør brukeren om en streng å reversere ved å legge inn koden:

printf ( "Skriv en streng:");
scanf ( "% s", str);

5 Loop gjennom strengen og reversere det ved å legge inn koden:

lengde = strlen (str);
for (a = 0, b = lengden 1; a <= b, et ++, B--)
{
temp = str [a];
str [et] = str [b];
str [b] = temp;
}

Sløyfen har tilgang til den første og siste tegnene og bytter deres verdier ved hjelp av en midlertidig variabel. Det avanserer deretter ett tegn i hver retning, fortsetter å bytte tegn til den når midten av strengen.

6 Vise reversert strengen ved å legge inn koden:

printf ( "% s", str);

7 Lagre C-filen. Kompilere og kjøre programmet for å reversere en streng.