【C】关于c++中数据类型赋值精度

来源:百度知道 编辑:UC知道 时间:2024/06/17 17:16:27
float h[4]={0.48296,0.83651,0.22414,-0.12941};

这种赋值方式有问题吗?
提示这种警告
warning C4305: 'initializing' : truncation from 'const double' to 'float'

改正:float h[4]={0.48296f,0.83651f,0.22414f,-0.12941f};
//f必须要有,显式转换

错误原因:在c++里,默认的小数类型是double,出现const是因为那些数是常数。由于编译器会将浮点常量默认地看作double,所以将会出现截断的警告。为了避免警告,你可以将这个常量显式声明为float常量

不会吧,我用devc++编译通过了,没有问题啊