| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3045 人关注过本帖
标题:关于编程中1.0/3*3编程后用%d与%f输出结果不同疑问
只看楼主 加入收藏
黑恋
Rank: 1
等 级:新手上路
帖 子:14
专家分:3
注 册:2012-6-29
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:13 
关于编程中1.0/3*3编程后用%d与%f输出结果不同疑问
今天我看教程(为避免做广告嫌疑不提名称了)。

他距离说1.0/3*3编程结果与我们人算不一样。

我先用他举例子的方法使用浮点型输出结果正常
如下代码:

#include <stdio.h>
void main()
{
     printf("%f\n",1.0/3*3);
}
输出为1

但是,我想试试以类型输出有什么不一样

就改成%d

结果变成了0

我不明白是怎么回事希望大家可以帮我解惑谢谢~
搜索更多相关主题的帖子: 做广告 include 
2013-06-04 18:35
妄想之渡
Rank: 2
等 级:论坛游民
帖 子:26
专家分:48
注 册:2013-5-23
收藏
得分:5 
如果用%d的话,表达式里1.0/3*3不能用,因为1.0是对应float的,应该改成1/3*3
2013-06-04 18:56
新手而已
Rank: 2
等 级:论坛游民
帖 子:35
专家分:55
注 册:2013-3-21
收藏
得分:10 
改成%d的话,1.0/3*3=0是因为1.0/3计算机省略了小数部分,即1.0/3=0所以再乘上3也为0

正在专攻C语言中。。。
  能帮到的就这点。。。
2013-06-04 19:10
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:0 
0.33333*3=0.99999,取整数就是0了

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2013-06-04 19:16
黑恋
Rank: 1
等 级:新手上路
帖 子:14
专家分:3
注 册:2012-6-29
收藏
得分:0 
回复 2楼 妄想之渡
我试了一下编译完还是等于0
2013-06-04 19:16
黑恋
Rank: 1
等 级:新手上路
帖 子:14
专家分:3
注 册:2012-6-29
收藏
得分:0 
回复 4楼 pauljames
主要是想了解一下为什么 %f和%d这个计算为什么会输出不一样的结果

谢谢~
2013-06-04 19:19
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
这就相当于一个浮点数硬用整形输出 结果不对很正常
2013-06-04 19:22
黑恋
Rank: 1
等 级:新手上路
帖 子:14
专家分:3
注 册:2012-6-29
收藏
得分:0 
回复 7楼 zklhp
那这个
printf("%d",1/3*3);
这个都是整形的,如何才能算出正确结果呢?

还是必须要用浮点型呢?为什么?
2013-06-04 19:28
RobinWang
Rank: 3Rank: 3
来 自:北京
等 级:论坛游侠
帖 子:69
专家分:121
注 册:2013-5-31
收藏
得分:0 
回复 楼主 黑恋
%d是整型输出,%f是单精度浮点型输出,整型输出只输出整数部分故其结果为0,单精度浮点型输出小数点后六位故其结果为

将压抑的青春能量转化为改造中国的动力!
2013-06-04 21:20
RobinWang
Rank: 3Rank: 3
来 自:北京
等 级:论坛游侠
帖 子:69
专家分:121
注 册:2013-5-31
收藏
得分:0 
回复 楼主 黑恋
结果应为1.000000

将压抑的青春能量转化为改造中国的动力!
2013-06-04 21:22
快速回复:关于编程中1.0/3*3编程后用%d与%f输出结果不同疑问
数据加载中...
 
   



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

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