http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50695
--- Comment #7 from rickyrockrat <gpib at rickyrockrat dot net> 2011-10-11 19:25:10 UTC --- I removed the ','at the beginning of the string (which was not there in the original test case), and I now get Bug!!4.074850E+05 In any case, it should return 0, if +1.xxE-6 is an invalid number. When I include these includes: #include <string.h> #include <stdlib.h> #include <stdio.h> my print looks like this: Bug!!1.000000E-06 Which is what perplexed me in the first place. It seems if I include stdlib.h, I get Bug!!4.074850E+05 If I don't include it, I get: Bug!!1.000000E-06, which is what prompted this bug report in the first place.