Probleme bei Stringmethoden



  • Hi, wir haben als Aufgabe, einige Stringmethode selbst zu implementieren, allerdings scheint in meinem Testprogramm irgendwas schief zu laufen, ich finde aber partout den Fehler nich.
    Als Ausgabe steht dann nur eine kurze Meldung der Funktion revert, hinter der der invertierte String hätte ausgegeben werden sollen, dort steht allerdings keiner. Sämtlich prtinf-Anweisungen im main-Teil machen gar nix.

    #include <stdio.h>
    #include <stdlib.h>
    
    int main() {
        char test[] = "Hallo";
        int x = 0;
        while(str[x] != '\0') {
            printf("In der Schleife...\n");
            printf("%c", str[x]);
        }
        int testelements = 0;
        testelements = strlaenge(test);
        printf("Elemente im Testarray: %d\n", testelements);
    
        revert(&test[0], testelements);
        return 0;
    }
    

    Hab hier jetzt nicht den kompletten Code, die Funktionen hab ich mal komplett rausgelassen, weil der Fehler scheinbar irgendwo am Anfang der main steht.
    Ich hoffe, ihr könnt mir helfen, vielen Danke schonmal 🙂


  • Mod

    Was ist str? Guck dir mal die Werte von x an! Was macht revert?

    lies dir bitte unbedingt den dritten Link in meiner Signatur durch. Der Code ist absolut unzureichend, um das Problem nachvollziehen zu können. Bei der Hälfte der Fehler weiß ich nicht, ob sie durch das Kürzen kommen oder wirklich im Code sind oder falsch abgeschrieben wurden.



  • Oh ja, da war nen Fehler. Nochmal die main-Methode:

    #include <stdio.h>
    #include <stdlib.h>
    
    int main() {
        char test[] = "Hallo";
    
        int x = 0;
        while(test[x] != '\0') {
            printf("Howdie\n");
            printf("%c", test[x]);
        }
    
        int testelements = 0;
        testelements = strlaenge(test);
        printf("Elemente im Testarray: %d\n", testelements);
    
        revert(&test[0], testelements);
        return 0;
    }
    

    Das revert soll eigentlich den String invertieren, also Hallo -> ollaH. das str[] gehörte da nich rein, das war mein Kürzel für die Funktionsparameter.
    strlaenge soll die Anzahl der Elemente (testelements) im String test bestimmen.
    Die while-Schleife war für mich nur eine Überprüfung, ob da überhaupt was ausgegeben wird, was nicht der Fall ist. Meine Vermutung war, dass ich irgendwas bei der Variablendefinition falsch hatte, deswegen diese Schleife.

    Übrigens kommt auch von der printf nach dem Bestimmen der Stringlänge keinerlei Ausgabe, nicht mal eine 0, die ja auch kommen würde, wenn ein Fehler in der Methode wäre.



  • In der while-Schleife fehlt auch noch einmal x++; seh ich grad, konnte es leider nich reineditieren.


  • Mod

    Khale schrieb:

    In der while-Schleife fehlt auch noch einmal x++; seh ich grad, konnte es leider nich reineditieren.

    Und nun?



  • Ok, habe das grad im Code geändert und nochmal kompiliert, die Ausgaben kommen jetzt wie sie es sollen. Mein Fehler war wahrscheinlich, dass ich statt den Compile&Run-Button immer den Run-Button gedrückt hab 🙄 Danke euch für eure Mühe 🙂


Anmelden zum Antworten