不同类型的数据运算时,取数值范围较大的数据类型
int number;
float total,aver;
aver=total/number;//浮点数除法,只要除数或者被除数之间有一个浮点数,那么执行的就是浮点数除法运算。
如果15/2那么aver=7.500000;
int total,number;
float aver;
aver=total/number;
此时如果15/2那么aver等于7.000000
但这种自动类型转换是隐形表达,可能会带了一些很难发现的错误
此时我们可以通过
aver=(float)total/number;
这样一个表达式将一个表达式的类型强制转换成用户指定的类型
此时的()代表的是强制类型转换运算符–类型强转(Casting)
它的一般形式就是在表达式前面加上一个括号,在括号里面加上我们要强制转化的目标类型,由于它只需要一个操作数,因此它是一个一元运算符,这个一元运算符和其他一元运算符具有相同的优先级,通过这种形式,可以实现显式的实现类型转换
(类型)表达式
这样的强制类型转化,并不改变表达式本身的类型和值