隐式转换 优先级 char,short,int,long,float,double 1.运算转换成同一类型进行运算 所有的浮点运算都是double类型 char和short在运算时都转换为int 2.赋值运算 int a = 12.7;赋值两边类型不同时,右边的类型会转换为左边的类型 右边长度大于左边会进行四舍五入 强制转换 (类型说明符) 表达式 类型说明符和表达式都必须加括号
代码语言:javascript复制#include <stdio.h>
int main()
{
//隐式转换
printf("隐式转换->%dn", 2.5 1);
//结果是0 是因为2.5是double,根据优先原则
//把1转换成double类型 两个浮点数相加 整型输出 所以结果为0
//强制转换
printf("强转->%dn", (int)2.5 1);
//结果是3 2.5强转int = 2 2 1 = 3
int a = 2.5;
printf("a = %d", a);
//a = 2 右边与左边的数据类型保持一致
}