| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 947 人关注过本帖
标题:为什么代码得不到小数部分
只看楼主 加入收藏
tm_ma
Rank: 1
来 自:中南林
等 级:新手上路
帖 子:147
专家分:0
注 册:2007-3-20
收藏
 问题点数:0 回复次数:5 
为什么代码得不到小数部分
5/2结果等于2.000000而不是2.500000
#include"stdio.h"
void main()
{
    int a,b;
    float c;
    a=5,b=2;c=a/b;
    printf("%f",c);
}
搜索更多相关主题的帖子: 小数 代码 得不到 
2008-02-29 20:41
Kid_X
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:216
专家分:515
注 册:2007-10-8
收藏
得分:0 
因为a和b都是整型,所以相除的结果也是整型,舍掉小数点后面的了
应该把a、b都定义成float型,结果才是2.500000
2008-02-29 20:50
默默无纹
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2008-2-12
收藏
得分:0 
当a,b都为int型,a/b的结果自动为int型,只取整数部分为结果。
LZ程序中,当a,b不都为整型时,就可以得到想要的结果。
#include"stdio.h"
void main()
{
    int a;
    float b,c;
    a=5,b=2.0;c=a/b;
    printf("%f",c);
}

[[it] 本帖最后由 默默无纹 于 2008-2-29 21:37 编辑 [/it]]

从来怨天尤人每每自封为神
常怜众生如蚁不意身本凡尘
2008-02-29 20:55
lonmaor
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:郑州
等 级:版主
威 望:75
帖 子:2637
专家分:6423
注 册:2007-11-27
收藏
得分:0 
Try it!
程序代码:
float c;
c = 5.0/2.0;
printf ("c = %f",c);
2008-02-29 21:05
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
先运算再改变类型.....
2008-02-29 21:06
xianshizhe111
Rank: 1
等 级:新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
收藏
得分:0 
#include"stdio.h"
void main()
{
    int a,b;
    float c;
    a=5,b=2;c=(float)a/b;
    printf("%f",c);
}
2008-02-29 21:11
快速回复:为什么代码得不到小数部分
数据加载中...
 
   



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

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