关于C++强制类型的问题

来源:百度知道 编辑:UC知道 时间:2024/05/27 23:37:19
float sum=0.0;
float m=2.0,n=1.0;
int x=2,y=1;
while(x<=100){
cout<<m/n<<" "<<(float)x/y<<endl;
m=m+0.1;
n=n+0.1;
x++;
y++;
}
这样输出的结果不同,为什么????
打错了...是+1.0
不好意思

#include "iostream.h"
main(){
float sum=0.0;
float m=2.0,n=1.0;
int x=2,y=1;
while(x<=100){
cout<<m/n<<" "<<(float)x/y<<endl;
m=m+1;
n=n+1;
x++;
y++;
} }

这次行了
m,n是每次+0.1;x、y是每次+1,你说为什么不同- -

int x,y 时,
x/y被强制转换为整型,(float)x/y 就是整数x/y转为浮点型,
即在后面加 .000000

float m,n
m/n 本身为就为浮点型。