①为什么我对x用float定义,然后输入,它会自动改变我输入数字的小数,但我对x用double定义时就不会出现这种情况,这是为什么?
②当x用float定义时,x的输入输出是不是只能用%f不能用%lf?用doubl'e定义时,是不是只能用%lf'而不能用%f?
就是'用图中的代码尝试时发现,float x用%lf输入输出时结果会很奇怪,double x用%f也是很奇怪。他们是不是固定搭配?
①为什么我对x用float定义,然后输入,它会自动改变我输入数字的小数,但我对x用double定义时就不会出现这种情况,这是为什么?
②当x用float定义时,x的输入输出是不是只能用%f不能用%lf?用doubl'e定义时,是不是只能用%lf'而不能用%f?
就是'用图中的代码尝试时发现,float x用%lf输入输出时结果会很奇怪,double x用%f也是很奇怪。他们是不是固定搭配?
这个牵扯到浮点数在内存中的存储方式了,简单来说float和double 存的是一个近似值,这也是浮点数不能用==运算符的原因。
输出是固定的double用lf,float用f,使用%.nf限定输出小数位数。