等号右边的运算结果的类型与左边的变量类型不一,那么计算机将会自动将右边的结果转换为与左边变量一致的类型。如果是精度较高的类型转换为精度较小的类型会丢失精度。
- #include <stdio.h>
- int main()
- {
- int a = 11.8f + 10.9f;//这里将单精度类型转换为整型,精短丢失,运算结果只取整数部分小数部分舍弃赋给变量a
- float b = 7 + 9;//整型转换为单精度类型,精度提升
- printf("a = %d, b = %.2f\n", a, b);
- return 0;
- }
复制代码 |
|