|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 原因分析,谢谢。
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
893
人关注过本帖
标题:
原因分析,谢谢。
只看楼主
加入收藏
mathcao
等 级:
新手上路
帖 子: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
来 自:武汉
等 级:
论坛游民
帖 子:98
专家分:75
注 册:2010-3-29
第
2
楼
收藏
得分: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
等 级:
论坛游民
威 望:
1
帖 子:59
专家分:94
注 册:2010-4-22
第
3
楼
收藏
得分: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
等 级:
论坛游民
帖 子:43
专家分:37
注 册:2009-11-24
第
4
楼
收藏
得分:0
强制转化一下
2010-04-26 13:00
举报帖子
使用道具
赠送鲜花
王启元
等 级:
论坛游民
帖 子:13
专家分:22
注 册:2010-4-12
第
5
楼
收藏
得分:0
很奇怪,想不通为什么是这样的结果
2010-04-26 13:21
举报帖子
使用道具
赠送鲜花
无忧草
等 级:
论坛游民
帖 子:12
专家分:14
注 册:2010-4-22
第
6
楼
收藏
得分:0
编译注意输出的格式,格式类型不一样,当然不对了。
2010-04-26 13:27
举报帖子
使用道具
赠送鲜花
xxwpk007
等 级:
业余侠客
帖 子:166
专家分:289
注 册:2007-7-29
第
7
楼
收藏
得分: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
举报帖子
使用道具
赠送鲜花
燃亮人生
等 级:
新手上路
帖 子:7
专家分:0
注 册:2010-4-26
第
8
楼
收藏
得分: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
等 级:
论坛游侠
帖 子:98
专家分:159
注 册:2009-6-9
第
9
楼
收藏
得分:0
这是犯的逻辑错误!%d对应的是整型,%f对应的是浮点型!还有强制类型转化的应用!见三楼!
2010-04-26 16:55
举报帖子
使用道具
赠送鲜花
mathcao
等 级:
新手上路
帖 子:10
专家分:0
注 册:2010-4-19
第
10
楼
收藏
得分:0
回复 2楼 BINGQING
我知道该像你那样写,
但我想知道这样的代码出现这样的结果的原因。
2010-04-26 19:08
举报帖子
使用道具
赠送鲜花
12
1/2页
1
2
快速回复:
原因分析,谢谢。
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.324391 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved