I have met a strange 9(unexpected) output from printf in C.
The code is:
 1  #include <stdio.h>
 2
 3  int
 4  main(void) {
 5      printf("%lf", 3.14 - 1e20 + 1e20);
 6  }
However, the output is 0.000000.
I do not know how it works.
Can anyone help?
 
     
    