| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 893 人关注过本帖
标题:原因分析,谢谢。
只看楼主 加入收藏
mathcao
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-4-19
结帖率:100%
收藏
已结贴  问题点数:13 回复次数:11 
原因分析,谢谢。
#include<stdio.h>
void main()
{
 printf("%d,%d\n",20.0/7,-20.0/7);
 printf("%f,%f\n",20/7,-20/7);
}
出来的第一个结果:为什么不是2,-2。为什么是28087,-18725.
出来的第二个结果:为什么是0.000000,-1.23840493321,...,e+308,而不是二点几的小数和负二点几的小数呢?
2010-04-26 10:56
BINGQING
Rank: 2
来 自:武汉
等 级:论坛游民
帖 子:98
专家分:75
注 册:2010-3-29
收藏
得分:0 
我觉得应该写成
#include<stdio.h>
void main()
{
printf("%d,%d\n",20/7,-20/7);
printf("%f,%f\n",20.0/7,-20.0/7);
}
2010-04-26 12:09
aufish
Rank: 2
等 级:论坛游民
威 望:1
帖 子:59
专家分:94
注 册:2010-4-22
收藏
得分:0 
回复 楼主 mathcao
看一下我的:
#include<stdio.h>
void main()
{
printf("%d,%d\n",int(20.0/7),int(-20.0/7));
printf("%f,%f\n",float(20/7),float(-20/7));
}

#include<stdio.h>
void main()
{
printf("%d,%d\n",int(20.0/7),int(-20.0/7));
printf("%f,%f\n",float(20.0/7.0),float(-20.0/7.0));
}
2010-04-26 12:18
andyzt406
Rank: 2
等 级:论坛游民
帖 子:43
专家分:37
注 册:2009-11-24
收藏
得分:0 
强制转化一下
2010-04-26 13:00
王启元
Rank: 2
等 级:论坛游民
帖 子:13
专家分:22
注 册:2010-4-12
收藏
得分:0 
很奇怪,想不通为什么是这样的结果
2010-04-26 13:21
无忧草
Rank: 2
等 级:论坛游民
帖 子:12
专家分:14
注 册:2010-4-22
收藏
得分:0 
编译注意输出的格式,格式类型不一样,当然不对了。
2010-04-26 13:27
xxwpk007
Rank: 4
等 级:业余侠客
帖 子:166
专家分:289
注 册:2007-7-29
收藏
得分:13 
printf("%d,%d\n",20.0/7,-20.0/7); // 20.0/7,-20.0/7 算出来后都是浮点类型的,因为整型与浮点型在内存中存储的方式不一样,所以你把它按照整型来解释就会出现奇怪的数。
printf("%f,%f\n",20/7,-20/7); // 原因与上面类似
2010-04-26 15:17
燃亮人生
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-4-26
收藏
得分:0 
#include<stdio.h>
void main()
{
printf("%d,%d\n",20.0/7,-20.0/7);
printf("%f,%f\n",20/7,-20/7);
}
                                                                                             #include<stdio.h>
void main()
{
printf("%d,%d\n",20/7,-20/7);
printf("%f,%f\n",20.0/7,-20.0/7);
}
上错下对
因为%d对应输出的应该是整型%f对应输出的应该是实型(交流)
2010-04-26 16:33
liyang0430
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:98
专家分:159
注 册:2009-6-9
收藏
得分:0 
这是犯的逻辑错误!%d对应的是整型,%f对应的是浮点型!还有强制类型转化的应用!见三楼!
2010-04-26 16:55
mathcao
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-4-19
收藏
得分:0 
回复 2楼 BINGQING

我知道该像你那样写,
但我想知道这样的代码出现这样的结果的原因。
2010-04-26 19:08
快速回复:原因分析,谢谢。
数据加载中...
 
   



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

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