Rechenoperationen zufälliges ergebnis?!



  • Hi ich beginne grade erst mit C und bekomme dauernd den selben mir unerklärlichen Fehler obwohl der sehr einfache Code ja richtigs ein sollte.
    Compiler ist visual c++ 2010 express

    Immer wenn ich eine einfache Rechnung ausführen möchte wie zB.:

    #include <stdio.h>
    #include <stdlib.h>
    
    int main() {
    
        int a = 5;
        int b = 10;
        int c;
        c = a * b;
        printf("c:%d",&c);
        system("pause");
        return 0;
    }
    

    kommt als Ergebnis jedes mal eine andere 7 Stellige Zahl heraus.

    Wie kann das sein? Habe mit google nichts gefunden bzw ist es mir schwer gefallen das Problem trefefnd zu formulieren habe aber Beispiele aus dem inet bei mir ausgeführt und da kommt genauso eine 7 stellige wirre Zahl heraus.

    Ich nehme mal an es hängt irgendwie mit den Compilereinstellungen oder Bibliotheken oder so zusammen damit kenne ich mich aber leider nicht gut genug aus also bitte ich um eure Hilfe.



  • Kann sein, da du die Adresse deines <int> ausgibst, und nicht wie offensichtlich gewünscht, den int-Wert. Probiere mal das "&" wegzulassen.



  • Tatsächlich! Funktioniert jetzt!
    Vielen dank schonmal.

    Trotzdem erscheint es mir irgendwie komisch, in meinen unterlagen steht:

    Beachten Sie: Variablen muss der operator& vorangestellt werden

    Aber wahrscheinlich bezieht sich das nur auf scanf und nicht printf dann stimmt es wieder.

    Das einzige was jetzt noch verwirrend ist ist dass das beispiel aus wikibook welches ich mit C&P direkt eingefügt habe den selben Fehler lieferte.

    Aber naja hauptsache es funktioniert jetzt und ich kann weiter arbeiten
    Danke für die Hilfe
    mfG



  • Du hast ev scanf mit printf verwechselt... im scanf ist der adressoperator erforderlich bei Zahlenwerten und Char.


Anmelden zum Antworten