I suppose I am just stupid (I tried all). Help me out of here:
#include <stdio.h>
#include <string.h>
int main()
{
const char * y = "747.0";
double x;
x = atof(y);
printf("%.5f\n",x);
printf("%e\n",x);
return 0;
}
result:
0.00000
0.000000e+00
You need to include stdlib.h
to offer atof()
a prototype, without proper prototype, compiler will suppose its return value be an int
.