I use CodeBlocks with mingw compiler. If I write
...
double number;
printf("Number ? ");
scanf("%g", &number);
printf("Number is %g\n", number);
...
and I insert 6.5 in number, output is wrong:
Number ? 6.5
Number is 1.75132e-313
But, if I write
...
double number;
number = 6.5;
printf("Number is %g\n", number);
...
output is correct ( 6.5 ). I have always read that %f, %e and %g could be used with floating point numbers.