自动类型转换和强制类型转换
标签(空格分隔): C 双学位高级语言程序设计 C算术运算和表达式
C语言中经常遇到不同数据类型在同一运算中转化的情况,这遵循下述规则。
long double > double > float > unsigned long > long > unsigned int > int > char、short
虽然自动类型转换使数据精度不容易丢失,但是他的自动转换常常带来一些难以察觉的数据错误,因此,我们也要用到强制类型转换(简称“强转”)。
强转,指的是强制转换数据类型。就像
int a,b;
float c;
a = 11;
b = 2;
c = a/b;
printf("%f",c);
此时,输出c=5。但是,如果代码6.用下面这一行代码来代替
c = (float)(a/b);
就会输出c=5.5.这时我们就用了强转,将a/b的数据类型临时变成了浮点型。但是注意,这只是临时将数据变成了浮点型,而数据的类型仍为整形。