发布网友 发布时间:2024-10-24 01:02
共4个回答
热心网友 时间:2024-11-02 15:29
k=sqrt(m);主要是针对这句话说的。
m经由sqrt函数开方所得应该是double类型数据,却用int类型的k接着。
错误的意思就是double转成int可能会丢失数据精度。
可以运行,如果你想避免这个错误的话,把k定义成double类型就可以了。
热心网友 时间:2024-11-02 15:30
应该没有出错,是警告double型付给int型k,会造成精度损失
热心网友 时间:2024-11-02 15:35
这个有两个问题,一个是查看一下math.h中的形参类型和返回值类型,都是double型的,至于类型转换中的精度损失问题,自己去找找浮点数的存储,所以m,k定义有问题,还有个,这个应该是警告信息,不是错误信息吧,下次记得把错误的行号的信息表上,好找
热心网友 时间:2024-11-02 15:27
for(i=2;i<=k;i )