| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 541 人关注过本帖
标题:求助a=(float)(7/4)的结果是多少,为什么?
只看楼主 加入收藏
reyoung
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-3-13
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
求助a=(float)(7/4)的结果是多少,为什么?
a=(float)(7/4)的结果是多少啊?
搜索更多相关主题的帖子: 多少 
2012-03-13 14:11
reyoung
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-3-13
收藏
得分:0 
1.75000
2012-03-13 16:34
Wikyo_hoho
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:31
专家分:188
注 册:2012-3-12
收藏
得分:5 
1.000000
因为是先以整数形式计算  7/4=1
再强制转化为float型
2012-03-13 17:42
shc5840
Rank: 1
等 级:新手上路
帖 子:4
专家分:9
注 册:2012-3-13
收藏
得分:5 
这个结果的值应该和是a的类型有关吧, 虽然值最后肯定是1, 7/4是整数相除, 但a的类型还是要把float  1 隐式转换一下吧。
所以 int a = (float)(7/4)   a= 1
   float a = (float)(7/4)   a= 1.000000
    char a = (float)(7/4)   a= assic 码为1的字符

个人看法
2012-03-13 18:00
顾倾
Rank: 2
等 级:论坛游民
帖 子:8
专家分:11
注 册:2012-3-17
收藏
得分:5 
五楼说的很对,你应该上机试一下,就能很清楚结果是什么?为什么?
#include<iostream>
using namespace std;
int main()
{
int a1,a2;   
    float b1,b2,b3;
   a1=(int)(7/4);
   a2=(int)(7.0/4);
    b1=(float)(7/4);
   b2=(float)(7.0/4);
   b3=(float)(7.0/4.0);
   cout<<a1<<endl;
   cout<<a2<<endl;
   cout<<b1<<endl;
   cout<<b2<<endl;
   cout<<b3<<endl;
   
    return 0;
}
结果是
1
1
1
1.75
1.75
2012-03-18 19:49
快速回复:求助a=(float)(7/4)的结果是多少,为什么?
数据加载中...
 
   



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

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