void main(){ double b; b=0.1234567891234567899e15; printf("b=%f\n",b); }输出结果是:b=123456789123456.797000这个输出结果以%f(只能保留7位有效数字 )输出的,但结果保留了16位有效数字,这怎么回事啊?
如果你想要保留7位也是可以的,但是这里你并没有作输出 控制,也许你看书上说是7 位,但它的意思是系统默认输出的小数位数
换成float不就会输出八位啦吗!