double a = 1E100
printf("%f", a);
It seems to be printing a different value other than 1 followed by a 100 zeros:
10000000000000000159028911097599180468360808563945281389781327557747838772170381060813469985856815104
What might be the problem here?