i
int main(int argc, char *argv[])
{
int i,j;
i=3;
j=i*(4/5);//j=0,首先将(4/5)转换为整型
j=i*4/5;//j=2,期望得到的结果
float scale=4.0/5.0;
j=i*scale;//j=2
若分子和分母为int类型,期望结果为float类型需要类型转换 答案:需要
//例如
int m=3;
int n=6;
scale=m/n;//结果scale=0
scale=(m/n);//结果scale=0
scale=float(m/n);//结果scale=0
scale=float(m)/n;//bingo!scale=0.5
scale=float(m)/float(n);//bingo!scale=0.5,得到期望结果
//总结:scale=0.5,在C语言中,float(m)/n 或 m/float(n) 得到的都是 float 型的,可得到正确的结果
return 0;
}