...from 'double' to 'int', possible loss of data

发布网友 发布时间: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 )

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com