Archiv verlassen und diese Seite im Standarddesign anzeigen : C: String rückwärts auslesen?
Naja, der Titel sagt ja schon alles, gibt es eine Bibliiotheksfunktion um einen String unter C rückwärts auszulesen?
:p mfg nul
tkortkamp
05-12-2002, 18:39
Hatte mal eine Funktion gepostet:
http://www.mrunix.de/forums/showthread.php?s=&threadid=28984&highlight=string+r%FCckw%E4rts
#include <stdio.h>
#include <string.h>
void reverse(char s[])
{
int c,i,j;
for(i=0, j=strlen(s)-1; i<j; i++, j--)
{
c = s[i];
s[i] = s[j];
s[j] = c;
}
}
int main(int argc, char **argv)
{
char c[50] = "Hello World!";
reverse(c);
printf("%s\n", c); /* Ausgabe: !dlroW olleH */
return 0;
}
c ya,
Tobias
ramazan86
28-03-2013, 19:56
Hii,
könntest du bitte mir bitte mal die for schleife erklären :)
Ich verstehe nicht die anweisung, was da genau geschieht...
Besten Dank im voraus...
Mfg
quinte17
31-03-2013, 08:57
for(i=0, j=strlen(s)-1; i<j; i++, j--)
{
c = s[i];
s[i] = s[j];
s[j] = c;
}
jede for schleife hat 3 anzugebende elemente. Initialisierung der variablen:
i=0, j=strlen(s)-1
die eine variable zeigt auf den anfang die andere auf das ende des strings.
anschließend kommt die endebedingung:
i<j
d.h. die schleife geht wohl genau bis zur mitte.
nun kommt eine anweisung die meistens für das verändern der zählvariablen verwendet wird:
i++, j--
zähle i nach oben, da i für den anfang steht
zähle j nach unten, da j für das ende steht
im schleifenrumpf zu guter letzt werden die 2 buchstaben vertauscht. http://www.cs.utsa.edu/~wagner/CS2213/swap/swap.html hier noch ein beispiel für mögliche implementierungen
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.