标题:朋友们,我想请教下C语言中1.0/3*3用%f输出结果居然是1.000000,不该是0.99 ...
取消只看楼主
primer1234
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2017-9-27
结帖率:0
已结贴  问题点数:20 回复次数:3 
朋友们,我想请教下C语言中1.0/3*3用%f输出结果居然是1.000000,不该是0.999999吗?
#include<stdio.h>
int main()
{
printf("%f\n",1.0/3*3);//输出结果为1.000000
printf("%f",0.333333*3);//输出结果为0.999999
}

广大朋友们,我想知道这是为什么?
搜索更多相关主题的帖子: C语言 输出 结果 居然 printf 
2017-09-27 11:42
primer1234
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2017-9-27
得分:0 
回复 2楼 rjsp
假如我用%lf输出也还是1.0耶,我就搞不懂了呀!
2017-09-27 18:16
primer1234
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2017-9-27
得分:0 
回复 6楼 rjsp
原来是这样,我看懂了 !
感谢你们!
2017-09-28 11:45
primer1234
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2017-9-27
得分:0 
回复 5楼 吹水佬
大哥,我刚读大一,你写成这样;我真心读不懂程序!不过有人说要是%f没有说明的话就会保留6位小数,超出的第一位会进行四舍五入?
例如:printf("%f",1.1234567);输出的结果是1.123457
好像是正确的,你觉得呢?
2017-09-28 11:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-480986-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.746171 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved