gcc+gedit + Anfänger= double= 44555... statt 1.79
-
#include <stdio.h>
int main() {
double a,b,g;
g = 1.73;
printf("%d",g) ;
return 0 ;
}Ausgabe sollte 1.73 sein, es erscheint aber 7874748.....
Warum? Kann doch nicht so schwer sein, wo ist der Fehler?danke
-
%d steht nicht für double sondern für Dezimaldarstellung von Integern. Was du willst ist %f. Siehe https://www.kernel.org/doc/man-pages/online/pages/man3/sprintf.3.html
Am besten kompilierst du immer mit eingeschalteten Warnungen, dann kann der Compiler solche Fehler erkennen. Für gcc einfach
-Wall -Wextra -std=c11
übergeben.Das Forum kann auch Syntax-Highlight: http://www.c-plusplus.net/forum/310201
-
jaa er spricht mir mir.
So ist das schon viel einfacher.
Gerade bei der Ausgabe hätte ich eine Funktion erwartet die alles ausgibt, so muss man dass ja alles doppelt definieren.
dankeschön
-
cneu schrieb:
Gerade bei der Ausgabe hätte ich eine Funktion erwartet die alles ausgibt, so muss man dass ja alles doppelt definieren.
Dann musst du eben C++ oder andere Sprachen dieser Art benutzen.