Sunset
227 字
1 分钟
数据的类型转换
数据的类型转换
类型转换规则
通常,总是从小到大变化的,比如:
char -> short -> int -> long -> long long对于浮点数来说,则是:
float -> doubleprintf与scanf的区别
当然,printf会自动转换数据类型,但scanf不会。
注:scanf输入short时要用%hd
强制类型转换
这时候,就需要强制转换类型,使用方法如下:
(类型)值比如:
int(10.2)转换之后就会丢掉小数部分变成10。
小的变量不能转换成大的变量,这是为了安全性和准确性考虑的,如果这样操作:
(short)1145141919810会出错!
特点说明
强制转换不会改变变量,比如:
int a = 1145141919810;short b;b = (short)a;printf("%d", a); // 最后输出的a还是114514191810优先级
强制转换优先高于四则运算,比如:
int a = 1, b = 2;double c = (double)(a / b);