Moin moin
Nachdem ich lange einen Fehler gesucht habe, warum strtod nicht so funktioniert wie ich erwartete, in einem anderen Programm aber tadellos, habe ich nach und nach die #include rausgenommen. Und siehe da, nehme ich stdlib.h raus dann erhalte ich fehlerhafte Ergebnisse.
Mich wundert: Warum lässt sich dieses kleine Beispiel kompilieren, mit oder ohne stdlib.h?
C
//#include <stdlib.h> //Rausnehmen, dann Fehler
#include <stdio.h>
#include <string.h>
main(void)
{
double value1, value2;
char * succ;
char str[255] = "1-0:1.7.255*255(014927.86*W)";
value1 = strtod( str+16, &succ );
printf( "%s = %f = %d \n", str, value1, abs(value1));
return 0;
}
Alles anzeigen
Woher holt sich der Kompiler nur die Funktion strtod ?