227 字
1 分钟
--
数据的类型转换
2023-10-11

数据的类型转换#

类型转换规则#

通常,总是从小到大变化的,比如:

char -> short -> int -> long -> long long

对于浮点数来说,则是:

float -> double

printf与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);
数据的类型转换
https://vilstia.org/posts/学习笔记/c/数据的类型转换/
作者
琴泠 - Lumina Qin
发布于
2023-10-11
许可协议
CC BY-NC-SA 4.0