Körpergröße berechnen mit Eingabe und Zeiger



  • Hallo wollte mal meine Körpergröße berechnen mit eigener eingabe und zeiger..will aber nicht klappen..
    bekomme immer den fehler segmentation fault..

    Hier ist mein code
    void grosse(){
    int groesse_cm;
    printf("Wie groß bist du (in cm)?");
    scanf("%d",groesse_cm);
    float groesse_m = groesse_cm/100;
    float *groesse_m2 = &groesse_m;
    printf ("Das sind exakt %f m.",*groesse_m2);
    }


  • Mod

    An der entscheidenden Stelle benutzt du keinen Zeiger. Vielleicht solltest du noch einmal gucken, wie scanf funktioniert.

    Das Ergebnis der Division ist übrigens vermutlich nicht das, was du erwartest. Wenn du Ganzzahlen durch Ganzzahlen teilst, erhältst du als Ergebnis auch ganze Zahlen, egal ob du diese Ergebnis später in einer Fließkommazahl speicherst.



  • Kannst du mir bitte sagen wo ich zeiger einsetzen soll?
    Benutze dies zum ersten Mal.
    Mfg



  • Zeiger werden unter Anderem da eingesetzt, wo man aus einer Funktion (mehrere) Werte zurück haben möchte.

    Z.B. bei scanf



  • Kannst du mir bitte mal zeigen wie man bei scanf die zeiger einsetzt ..
    Bin echt am zweifeln.
    Mfg

    Mein code

    int groesse_cm;
    printf("Deine körpergröße in cm");
    int erg= scanf("%d",groesse_cm);
    float *groesse_m = &erg/100;
    printf("Deine körpergröße in %f m",*groesse_m);



  • canyakan95 schrieb:

    Kannst du mir bitte mal zeigen wie man bei scanf die zeiger einsetzt ..
    Bin echt am zweifeln.

    Du hast (bei dir) gerade mal eine Variable beim Aufruf von scanf. Wo kann da der Zeiger hin kommen.

    Aber bevor du am rumraten bist (das führt selten zum Ziel) kannst du auch die Referenz/man-page zu scanf durchlesen. Z.B. http://www.cplusplus.com/reference/cstdio/scanf/
    Da gibt es sogar ein Beispiel.

    Am sinnvollsten ist aber, du holst dir ein Buch (kaufen oder Bibliothek) über C und arbeitest das durch.
    Denn du mußt verstehen was da passiert.



  • warum kannst du denn nicht einfach die korrekte lösung kurz hier posten und dann ..mit kommentaren meine fehlerstellen zeigen...damit ich auch verstehe was ich beim nächsten mal verbessern soll.

    mfg


  • Mod

    canyakan95 schrieb:

    warum kannst du denn nicht einfach die korrekte lösung kurz hier posten

    damit ich auch verstehe was ich beim nächsten mal verbessern soll.

    Darum.



  • Wenn du beim Compiler die Warnstufe hochstellst (ist Compilerabhängig), dann sagt dir der Compiler sogar wo die fehlerhafte Stelle ist.
    Nicht als Fehler, sondern als Warnung - aber das Programm soll auch ohne Warnungen compiliert werden.


Log in to reply