标题:C语言的一个小问题 求大神指教
只看楼主
a865386512
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-12-17
 问题点数:0 回复次数:5 
C语言的一个小问题 求大神指教
#include<stdio.h>
int main()
{
float c,f;
scanf("%f",&f);      
c=(5.0/9)*(f-32);      
printf("摄氏度为%f\n",c);
return 0;
}
这个程序中的c=(5.0/9)*(f-32); 其中的5.0换成5的话输出结果就错误了,这是为什么呀,
求大神指点
搜索更多相关主题的帖子: return C语言 摄氏度 
2014-12-20 13:45
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
得分:0 
因为c是float型的,如果是5/9若为整数运算小于1会被赋为0

一片落叶掉进了回忆的流年。
2014-12-20 14:03
小迷糊tong
Rank: 2
来 自:皖芜湖
等 级:论坛游民
帖 子:5
专家分:10
注 册:2014-12-16
得分:0 
m=5/9则得出m的值为商的整数部分(强制转换整型),即m=0.
(被除数和除数均为整数。)
若想要得到商是有小数,被除数或除数为小数。

非淡泊无以明志,非宁静无以致远。
2014-12-20 14:15
a865386512
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-12-17
得分:0 
回复 2楼 诸葛欧阳
/ 中的分子分母如果都是整数 ,那么/就是整除的意思,如果分子分母有一个是浮点型那么/就是求精确值  这样说对吗
2014-12-20 14:28
a865386512
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-12-17
得分:0 
回复 3楼 小迷糊tong
我懂啦,谢谢了
2014-12-20 14:35
zhuyi8120
Rank: 2
等 级:论坛游民
帖 子:34
专家分:12
注 册:2014-11-4
得分:0 
不回答此类问题。
2014-12-20 14:47



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




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

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