| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 662 人关注过本帖
标题:麻烦分析一下,谢谢。
只看楼主 加入收藏
mathcao
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-4-19
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:9 
麻烦分析一下,谢谢。
#include<stdio.h>
void main()
{
  int a=90,b=50;
  float f;
  f=a/b;                              /* 分析一下a/b的结果是是1还是1.800000 */
                                      /* 是不是在C里两个整型相除还是还是整型 */
  printf("f=%f\n",f);
}
 
为什么结果是1.000000,而不是1.80000
搜索更多相关主题的帖子: 麻烦 
2010-04-20 13:49
skyhe1a
Rank: 2
等 级:论坛游民
帖 子:55
专家分:62
注 册:2010-4-10
收藏
得分:1 
1.800000   float 打印有小数位
2010-04-20 13:51
skyhe1a
Rank: 2
等 级:论坛游民
帖 子:55
专家分:62
注 册:2010-4-10
收藏
得分:0 
int a=90,b=50;
  定义错了!!!!
2010-04-20 13:53
skyhe1a
Rank: 2
等 级:论坛游民
帖 子:55
专家分:62
注 册:2010-4-10
收藏
得分:0 
ab 是int的所以两个数运算结果不是float 的  你只是以%F 打印 1而已
2010-04-20 13:55
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
收藏
得分:1 
a/b表达式的操作数都是整形,所以表达式的结果是1,然后把得出的结果赋值给f。

[url=http:///view/aDU1]/image/aDU1.gif" border="0" />[/url]
2010-04-20 13:56
日的起烟烟
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:137
专家分:129
注 册:2010-2-27
收藏
得分:1 
常数的书写方式不对

90/50  !=    90.0/50/0  (90/50.0  90.0/50)
2010-04-20 14:02
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1487
专家分:9082
注 册:2010-3-16
收藏
得分:1 
整数除以整数,结果为整数。。所以不会有小数部分。。
要根据具体情况定义类型。
2010-04-20 14:16
mathcao
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-4-19
收藏
得分:0 
回复 5楼 succubus
非常感谢!
2010-04-20 14:25
mathcao
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-4-19
收藏
得分:0 
回复 7楼 apull
谢谢!
2010-04-20 14:27
lddwh
Rank: 2
等 级:论坛游民
帖 子:34
专家分:79
注 册:2010-4-7
收藏
得分:1 
#include<stdio.h>
void main()
{
  float a=90.0,b=50.0;
  float f;
  f=a/b;                              /* 分析一下a/b的结果是是1还是1.800000 */
                                      /* 是不是在C里两个整型相除还是还是整型 */
  printf("f=%f\n",f);
}
2010-04-21 22:55
快速回复:麻烦分析一下,谢谢。
数据加载中...
 
   



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

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