强制类型转换

        如果运算符两边的数据类型不统一,则较低类型的需要转化成较高类型,再参加运算。

        运算符的高低如下:

char,short→int→unsigned→long→double←float


 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 int main()
 4 {
 5 float f=5.97;
 6 printf("(int)f=%d
",(int)f);
 7 printf("f=%f
",f);
 8 return 0;
 9  } 
10 
11 运行结果:
12 
13 (int)f=5
14 
15 f=5.97


    强制类型转换的格式如下:

        (类型)(数据)

如:(int)(x+y)

整形转化为浮点型时,数值不变,形式改变为浮点型;

浮点型转化为整形时,舍去小数点后面的内容,整数部分不变。

float型转化为double型时,数值不变,形式改变为浮点型;

double型转化为float型时,通过截尾实现,不过截尾前要四舍五入

int型转化为char型时,保留低8位,高位舍去;

long型转化为int型时,保留低16位,高位舍去;


原文地址:https://www.cnblogs.com/Eric-keke/p/4374166.html