读书人

C程序设计(第二版)(谭浩强) 第55页

发布时间: 2012-02-23 22:01:35 作者: rapoo

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,赋值的时候可以进行类型转换的变量会自动进行类型转换

读书人网 >C语言

热点推荐