Verwenden der von log(x) mit math.h
-
Mein kleines Programmchen funktioniert irgendwie nicht. Der Makro log(x) wird nicht erkannt, obwohl ich die Headerdatei math.h eingefügt habe. Kann mir wer weiterhelfen?
#include <stdio.h> #include <stdlib.h> #include <math.h> int main(void) { double x; printf("Gib eine Zahl ein: "); scanf("%d", &x); printf("Der natürliche Logarithmus von von %d ist %d\n", x, log(x)); return EXIT_SUCCESS; }
-
Hi,
du programmierst unter Unix/Linux, oder?
Einfach -lm als Compileroption mitgeben :xmas1:EDIT:
%d bei scanf steht übrigens für decimal und ist geeignet, ganzzahlige Werte einzulesen. Du brauchst %lfMfG
GPC
-
Erstens: log() ist kein Makro, sondern eine Funktion.
Zweitens: Die Formatkennung %d steht für "Dezimal" (und ident zur Verarbeitung von int-Werten. Du benötigst %lf für scanf() bzw. %f für printf()
Drittens: Eventuell solltest du auch dazusagen, was dein Compiler von dem Programm gehalten hat.
-
Vielen Dank! Es funktioniert wunderbar!