Problem mit Schleife...



  • Hi,

    ich habe ein kleines Problem mit einer For-Schleife und zwar lese ich einen String ein und möchte diesen String umgedreht wieder ausgeben. Mein Ansatz:

    char Text[256];
    char Text1[256];
    int i,j;
    
    // Eingabe u. Ausgabe
    printf("Gib einen Text ein (max. 255 Zeichen) > ");
    gets(Text);
    printf("Eingabetext: %s", Text);
    
    // Ausgabe umgekehrt
    j = 255;
    for(i = 0; i <= 255; i++) {
      Text2[j] = Text[i];
      --j;
    }
    
    printf("Text2: %s", Text2);
    

    Jedoch ist der Ausgabestring Text2 leer. Was mache ich falsch?

    Gruss Daniel



  • Dein Text2 ist in Wirklichkeit Text1.



  • #include <stdio.h>
    #include <string.h>
    
    int main()
    {
    	char text[256];
    	char text2[256];
    	int i, j;
    
    	sprintf(text, "Test!");
    
    	for (i = strlen(text) - 1, j = 0; i >= 0; --i, ++j)
    	{
    		text2[j] = text[i];
    	}
    
    	text2[j] = '\0';
    
    	printf("%s\n%s\n", text, text2);
    }
    


  • Ja, soll er auch, aber halt in umgekehrter Reihenfolge!

    Beispiel:
    Text1: bier
    Text2: reib

    So wollte ich das ganz gerne machen!



  • #include <stdio.h>
    #include <string.h>
    
    int main()
    {
        char text[256];
        char text2[256];
        int i, j;
    
        sprintf(text, "Test!");
    
        for (i = strlen(text) - 1, j = 0; i >= 0; --i, ++j)
        {
            text2[j] = text[i];
        }
    
        text2[j] = '\0';
    
        printf("%s\n%s\n", text, text2);
    }
    

    Wow, vielen Danke! Funzt wunderbar!



  • Hya!
    Kieckste hier:

    char* s ="stoffregen";
    	char* p = s; 
    
    	while(*s++);
    	s--;
    
    	while(p!=s--)
    		putchar(*s);
    			return 0;
    

    Gruß,
    B.B.
    ( the bigger one )


Anmelden zum Antworten