数据有不同类型,不同类型的数据之间混合运算,涉及类型的转换
转换的方式有2种:
1.自动转换(隐式转换):遵循一定规则由编译系统完成
2.强制类型转换:把表达式的运算结果强制转换成所需的数据类型
类型转换规则:占用内存字节数少的类型,向占用内存字节数多的类型转换,以保证精度不降低,小转大自动转换
#include<stdio.h>
int main()
{
char a = 'a';
int b=a;
printf("%d/n",b);字符'a'隐式转换成int类型,a对应ascell码为97
return 0;打印结果为97
}
#include<stdio.h>
int main()
{
float a = 3.14f;
int b=a;
printf("%d/n",b);打印结果为3,将a隐式转成成int数据类型
return 0;
}
强制转换格式:(数据类型)变量
#include<stdio.h>
int main()
{
float a = 3.14f;
int b=(int)a; 将a强制转成int类型赋值给b,打印b,打印结果为3
printf("%d/n",b);
return 0;
}
#include<stdio.h>
int main()
{
int a =10;
int b=3;
printf("%f/n",(float)a/b); 将a从int类型强制转换成float类型,表达式要转成相同数据类型才能计算
return 0;所以,b隐式转换成float类型,所以打印出来的结果是3.333333
}
END