代码
#pragma mark 类型转换
#include <stdio.h>
int main()
{
// 自动类型转换(隐式转化)(系统帮我们转换的)
// int number = 10.8; //number 4个字节 double 8个字节 (好比一桶水倒进一个杯子里面,杯子装不了)
// printf("number = %i\n",number);
// 强制类型转换(显示转换)
// (需要转换的类型) 需要转换的数据
// 注意: 无论是隐式转换还是显示转换, 只要讲一个大类型的转换,转成小类型的数据,那么就有可能丢失精度
// int number = (int)10.8;
// printf("number = %i\n",number);
/**
// 在运算的过程中,其实还做了一次自动类型提升
// 算术运算符规定: 只有相同类型的数据才可以进行运算
// 如果在计算过程中,参与运算的操作数不是同一类型,那么系统会自动将小类型转换为大类型,然后再进行运算.
int result = 10 + 9.9;
// int result = 10.0 + 9.9 == 19.9;
printf("result = %i\n",result);
*/
// 算术运算注意点: 参与运算的操作数是什么类型,那么计算出来的结果就是什么类型
// double result = 1 / 2; // int int 结果int
// double result = 1.0 / 2; // 1.0 / 2.0 == 0.5; // 隐式转换
// double result = (double)1 / 2; // 1.0 / 2.0 == 0.5; // 显示转换
double result = (double)(1 / 2); // 这种写法是错误的写法
printf("result = %f\n",result);
return 0;
}