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
-858993459Kö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.