BastianW
Mitglied
Hallo zusammen,
ich bräuchte einmal jemand der mir ein Scriptteil erklärt. Ich versuche es nun geschlagene 4 Stunden zu verstehen ich schaffe es nicht und gehe nun frustriert ins Bett...
Hier das Script:
Gehen wir mal davon aus jemand gibt Bastian ein.
- Dann wird dir FOR Schleife durchlaufen
- In Temp steht der 0 Inhalt vom array str, das große B
- in die 0 Stelle vom Array wird der Buchstabe n (6 Stelle vom array) geschrieben
Und nun kommts:
Hier wird nach meiner Meinung nach an die 6-1 also 5 Stelle der Inhalt von Temp geschrieben. Scheinbar tut es das aber nicht. Die Funktion dreht meinen String genau um so wie sie es sollte. Blos warum? Ich würde erwarten das der Inhalt von temp an die 6 Stelle geschrieben wird, dort wo mal das n war.
Kann mir das jemand erklären oder bin ich einfach nur zu Müde um das zu verstehen?
ich bräuchte einmal jemand der mir ein Scriptteil erklärt. Ich versuche es nun geschlagene 4 Stunden zu verstehen ich schaffe es nicht und gehe nun frustriert ins Bett...
Hier das Script:
Code:
main()
{
int i,len;
printf("Enter String (max 10 Char): ");
scanf("%s",str);
printf("\nUnsere Eingabe hat %i Zeichen",strlen(str));
len=strlen(str)-1;
for(i=0; i < strlen(str)/2 ;i++)
{
temp=str[i];
str[i]=str[len];
str[len--]=temp;
}
printf("%s",str);
}
Gehen wir mal davon aus jemand gibt Bastian ein.
- Dann wird dir FOR Schleife durchlaufen
- In Temp steht der 0 Inhalt vom array str, das große B
- in die 0 Stelle vom Array wird der Buchstabe n (6 Stelle vom array) geschrieben
Und nun kommts:
Code:
str[len--]=temp;
Hier wird nach meiner Meinung nach an die 6-1 also 5 Stelle der Inhalt von Temp geschrieben. Scheinbar tut es das aber nicht. Die Funktion dreht meinen String genau um so wie sie es sollte. Blos warum? Ich würde erwarten das der Inhalt von temp an die 6 Stelle geschrieben wird, dort wo mal das n war.
Kann mir das jemand erklären oder bin ich einfach nur zu Müde um das zu verstehen?