C程序设计(第二版)(谭浩强) 第55页 的一个有关问题
C程序设计(第二版)(谭浩强) 第55页 的一个问题
书中说:如果参加算术运算的两个数中有一个数为实数,则结果是double型,因为所有实数都按double型进行运算。
晕倒,这就是说如果:float a=2.8;
float b=3.0;
float c;
c=a+b;
按书上的说法,这个时候计算完了的c并不是float而是double型,那我还得再多写一句c= (float)c; 进行强制转化一下吗?!
------解决方案--------------------
结果是 double的 是说float a=2.8;
float b=3.0;
a+b的值存在一个临时变量里面,这个临时变量是double的,然后你把这个临时变量的值赋给了c,赋值的时候可以进行类型转换的变量会自动进行类型转换
书中说:如果参加算术运算的两个数中有一个数为实数,则结果是double型,因为所有实数都按double型进行运算。
晕倒,这就是说如果:float a=2.8;
float b=3.0;
float c;
c=a+b;
按书上的说法,这个时候计算完了的c并不是float而是double型,那我还得再多写一句c= (float)c; 进行强制转化一下吗?!
------解决方案--------------------
结果是 double的 是说float a=2.8;
float b=3.0;
a+b的值存在一个临时变量里面,这个临时变量是double的,然后你把这个临时变量的值赋给了c,赋值的时候可以进行类型转换的变量会自动进行类型转换