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.