隐式类型转换
隐式类型转换可分为3种:算术转换、赋值转换和输出转换。
算术转换:
在进行算术转换时,不同类型的数据必须转换成同一类型的数据才能进行运算。例如:表达式中占内存最大的类型为int,则将其他类型的数据都转换为int类型;表达式中占内存最大的类型为double,则将其他类型的数据都转换为double类型。
赋值转换:
赋值时,若变量的数据类型与赋值的数据类型不同,编译器会将“=”右边的值先转换为对应变量的数据类型,再将值赋给变量,例如将一个浮点数赋值给int类型的变量,代码如下。
int a = 10.2;
上述代码将浮点数10.2赋给int类型的变量a,编译器在赋值时会将10.2转换为int类型的10,然后再将10赋给a,a的最终结果为10。
输出转换:
在程序中将数据用printf()函数以指定格式输出时,当要输出的数据类型与输出格式不符时,编译器会自动进行类型转换。示例代码如下:
int a = 321;
printf("%c",a);
显式类型转换
显式类型转换是指使用强制类型转换运算符,将一个变量或表达式转化成所需的类型,也称强制类型转换。
格式:(类型)(值)
int a = (int)(1.9)
char b = (char)(62.5) // double 62.5→62→>