搜索
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ 求助a=(float)(7/4)的结果是多少,为什么?
标题:
求助a=(float)(7/4)的结果是多少,为什么?
只看楼主
reyoung
等 级:
新手上路
帖 子:2
专家分:0
注 册:2012-3-13
结帖率:
0
楼主
已结贴
√
问题点数:20 回复次数:5
求助a=(float)(7/4)的结果是多少,为什么?
a=(float)(7/4)的结果是多少啊?
搜索更多相关主题的帖子:
多少
2012-03-13 14:11
reyoung
等 级:
新手上路
帖 子:2
专家分:0
注 册:2012-3-13
第
2
楼
得分:0
1.75000
2012-03-13 16:34
Wikyo_hoho
等 级:
论坛游侠
帖 子:31
专家分:188
注 册:2012-3-12
第
3
楼
得分:5
1.000000
因为是先以整数形式计算 7/4=1
再强制转化为float型
2012-03-13 17:42
shc5840
等 级:
新手上路
帖 子:4
专家分:9
注 册:2012-3-13
第
4
楼
得分: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
顾倾
等 级:
论坛游民
帖 子:8
专家分:11
注 册:2012-3-17
第
5
楼
得分: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
6
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-363017-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.312810 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved