注册 登录
编程论坛 C++教室

求助a=(float)(7/4)的结果是多少,为什么?

reyoung 发布于 2012-03-13 14:11, 541 次点击
a=(float)(7/4)的结果是多少啊?
5 回复
#2
reyoung2012-03-13 16:34
1.75000
#3
Wikyo_hoho2012-03-13 17:42
1.000000
因为是先以整数形式计算  7/4=1
再强制转化为float型
#4
shc58402012-03-13 18:00
这个结果的值应该和是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的字符

个人看法
#5
顾倾2012-03-18 19:49
五楼说的很对,你应该上机试一下,就能很清楚结果是什么?为什么?
#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
1