问题:
原因:
现在我们知道变量x为双精度类型,而输入类型则当做整型来处理导致结果出错
单精度:float %f
双精度:double %lf
整型:int %d
原理:
在内存中,double类型和int类型数据存储方式是不一样的。存放double类型的数据,以整型形式输出,这个值要看double数据在内存的二进制形式,然后用int类型解析。
既然定义的是double类型,还是用%lf输出
现在我们知道变量x为双精度类型,而输入类型则当做整型来处理导致结果出错
单精度:float %f
双精度:double %lf
整型:int %d
在内存中,double类型和int类型数据存储方式是不一样的。存放double类型的数据,以整型形式输出,这个值要看double数据在内存的二进制形式,然后用int类型解析。
既然定义的是double类型,还是用%lf输出