目录
自动类型转换
强制类型转换运算符——类型强转(Casting)
问题的提出
Example:
int total, number;
float aver;
……
整数除法:
aver = total / number; total:15
→15/2 number:2
→7 aver:7.000000
自动类型转换
不同类型的数据的运算结构的类型?
int number;
float total, aver;
……
浮点数除法:
aver = total / number; total:15
→15.000000 / 2 number:2
→7.500000 aver:7.500000
如何避免这种隐式的自动类型转换,以显式地表明程序员的意图?
强制类型转换运算符——类型强转(Casting)
(类型)表达式——一元运算符
int total, number;
float aver;
……
aver = (float)total / number; total:15
→15.000000/2 number:2
→7.500000 aver:7.500000
(float)total:将一个表达式的类型强制转换为用户指定的类型并且不改变total的类型和值
Example:
int total, number;
float aver;
……
(float)(total / number)结果如何?
aver = (float)(total / number); total:15
→15 / 2 = 7 number:2
→7.000000 aver:7.000000