标题:请教一个百思不得其解的问题!
只看楼主
xixigzcn
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2005-9-2
 问题点数:0 回复次数:13 
请教一个百思不得其解的问题!

#include <stdio.h>

main()
{
float a;
for(a=0.0;a<=1.0;a+=0.1)
printf("%.1f\n",a);
}


为什么得不到1.0 ????

搜索更多相关主题的帖子: 百思不得其解 
2006-10-16 20:26
bestboy555
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2006-8-1
得分:0 
因为
for(a=0.0;a<=1.0;a+=0.1)
printf("%.1f\n",a);这个a还没有执行a+=0.1这步

原来这个世界还有好多真理!
2006-10-16 20:35
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
得分:0 
因为浮点数的等与不等没意义


[此贴子已经被作者于2006-10-16 20:41:36编辑过]


2006-10-16 20:39
xixigzcn
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2005-9-2
得分:0 

楼上可以再解释清楚一点吗?不明白

2006-10-16 22:10
xixigzcn
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2005-9-2
得分:0 
以下是引用bestboy555在2006-10-16 20:35:03的发言:
因为
for(a=0.0;a<=1.0;a+=0.1)
printf("%.1f\n",a);这个a还没有执行a+=0.1这步

为什么不执行? 就算a<=1.0当a为0.9时 也是要先执行a+=0.1才判断a<=1.0

2006-10-16 22:13
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
以下是引用xixigzcn在2006-10-16 20:26:58的发言:

#include <stdio.h>

main()
{
float a;
for(a=0.0;a<=1.0;a+=0.1)
printf("%.1f\n",a);
}


为什么得不到1.0 ????

浮点数没有真正意义上的相等,比如说0.0000001和0.00000011,计算机只会默认相等.这里会执行到1.0,但它相等是比较不出来的.


倚天照海花无数,流水高山心自知。
2006-10-16 22:22
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
得分:0 
这些都是机器问题。

谁有强殖装甲第二部,可以Q我460054868
2006-10-16 22:24
xixigzcn
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2005-9-2
得分:0 

噢 明白了 谢谢

2006-10-16 22:27
yjbqq
Rank: 1
等 级:新手上路
帖 子:133
专家分:0
注 册:2006-10-10
得分:0 

可以改为
#include <stdio.h>

main()
{
float a, sum;
for(a=0.0;a<=1.0;a+=0.1)
sum+=0.1;
printf("%.1f\n",sum);
return 0;
}


抵制日货,从我做起!!!
2006-10-16 22:30
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
得分:0 

第 9 楼,会有问题
#include <stdio.h>

int main()
{
float a,sum=0;
for(a=0.0;a<=1.0;a+=0.1)
sum+=0.1;
printf("%.1f\n",sum);
return 0;
}


谁有强殖装甲第二部,可以Q我460054868
2006-10-16 22:34



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




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

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