void main(){ double b; b=0.1234567891234567899e15; printf("b=%f\n",b); }输出结果是:b=123456789123456.797000这个输出结果以%f(只能保留7位有效数字 )输出的,但结果保留了16位有效数字,这怎么回事啊?