您的位置:首页 > 编程语言 > C语言/C++

c语言中浮点数的陷阱

2015-08-25 14:49 337 查看
错误代码:

#include <stdio.h>
int main(){
double i;
for(i = 0.0; i = 10.0; i += 0.1)
printf("%.1f\n",i);

return 0;
}

c语言中double类型数据计算是有误差的,也就是说你每次加0.1,可能永远得不到整10,有可能是0.900001

正确代码:

#include <stdio.h>
int main(){
double i;
for(i = 0.0; i -10 < 0.0; i += 0.1)
printf("%.1f\n",i);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: