wenn ich es nun kompiliere und starte erhalte ich immer das folgende falsche Ergebnis:
-1.998314
ich habe schon mit anderen Werten , statt „2.5“ versucht, bekomme aber das gleiche Ergebnis.
Kann es an einer fehlerhaften Version von libm.a liegen ?
Ich benutze die libc , die bei der SuSE 6.3 - Distribution dabei ist.
Oder ist am Programm etwas falsch?
Das „%lf“ ist nur bei der Eingabe definiert. Bei der Ausgabe musst du immer „%f“ schreiben, da lt. Standardkonversion float automatisch in double umgewandelt wird. Daher muss es nicht
Das wundert mich jetzt. Die Version mit „%f“ läuft sicher, ein guter C-Compiler wird auch mit „%lf“ das richtige Ergebnis liefern (Visual C++ tut das z.B.). Daher vermute ich, dass du vielleicht falsch compilierst! Bindest du denn die Mathe-Library überhaupt mit ein? Tippst du also: