Daten eines Arrays zeigen mit Typ double



  • Ich hab diesen Code in main Methode geschrieben. Ich wollte damit die Daten zeigen lassen.

    int n=6;
    double daten[n] = {37.2, 35.8, 36.2, 33.3, 40.1, 33.6};

    int i;
    printf("Daten unsortiert:\n");
    for (i=0; i<n; i++) {

    printf(" %d\n", daten[i]);
    }
    Nachdem ich das kompiliert und ausgeführt habe, habe ich diese Ausgabe bekommen. Es sieht aus, als dies nicht der richtigen Werten des arrays entspricht.

    Daten unsortiert:
    -1717986918
    1717986918
    -1717986918
    1717986918
    -858993459
    -858993459

    Könnte es daran liegen, dass ich die Adressen und nicht die Inhalte bekommen habe ? 🙂 🙂
    und wie kann man die Inhalte des Arrays bekommen ? 🙂 🙂



  • barodo94 schrieb:

    printf(" %d\n", daten[i]);

    Du verwendest das Formatierungszeichen für Ganzzahlen anstatt für Gleitpunktzahlen.
    Machs mal so:

    printf(" %f\n", daten[i]);

    MfG



  • der platzhalter für double ist %lf, nicht %f 😉



  • Splieth@School schrieb:

    der platzhalter für double ist %lf, nicht %f 😉

    Tatsächlich? Wenn ich mal den Standard zitieren darf

    l (ell) [...] has no effect on a following a, A, e, E, f, F, g, or G conversion specifier.

    Du meinst wahrscheinlich "%Lf"? Das ist aber für long double. "%f" für double ist schon ok.


Anmelden zum Antworten