/*
算数运算符的类型转换
1)隐式转换(自动转换)
2)显示转换(强制转换)
*/
#include <stdio.h>
int main(int argc, const char * argv[]) {
float f1 =23.4f;
int num = 10;
//1隐式转换
//f1 + num
//float + int 可以运行
//int-->会自动的转换为float类型,隐式转换
//float + float
int sum = f1 +num;
float f2 =f1 +num;
printf("%d\n",sum);
printf("%f\n",f2);
//2显示转换
//强制转换格式:(要转换的类型)要转换的变量或者是表达式(float的有效位数只有7位)
printf("%d\n",(int)(f1 + num));
//int + int
int sum2 = (int)f1 + num;
printf("sum2 = %d\n",(int)f1 + num);
printf("f1 = %d\n",(int)f1);
//注意事项
//1、赢一个大数加上一个特别小的数,如果使用float会有问题
int num3 = 3455;
float f3 = 0.0003;
printf("%f\n",num3 + f3);
//2、强制转换时临时转换,不改变原值
printf("f1=%d\n",(int)f1);//此处时临时转换 不会改变原值
printf("f1 = %f\n",f1);
return 0;
}
|
|