数据类型的强制转换
1、说明:
(1)数据类型的强制转换一般形式为:(类型名)+表达式
(2)强制转换得到所需类型的中间变量,原变量类型、变量值保持不变,高类型向低类型转化时可能发生精度损失
2、程序:
#include<stdio.h>
void main()
{
int a = 1.0f;//通过赋值号自动实现数据类型转换
printf("%d",a);
printf("\n%d", 1.0);//会把double类型的二进制按照整数来解析,结果为0
printf("\n%d", sizeof(1.0));//1.0是double类型,占8个字节
printf("\n%d", (int)1.0);//把double类型的1.0强制转换为int类型,结果为1
printf("\n%f", 1);//把整数1按照浮点数来解析,结果为0.000000
printf("\n%f", (float)1);//把整数1强制转换为float类型,结果为1.000000
printf("\n%d", (int)(1.0 + 'A'));//将计算结果强制转换为int类型,输出结果为66
float fl=1.12;
printf("\n%d\n%f",(int)fl,fl);//输出结果为1和1.120000,数据类型的强制转换造成的数据丢失,影响了数据精度
getchar();
}
3、运行结果: