各类数值型数据之间的混合运算.c
当double类型和float类型转为int类型时会造成精度丢失
#include<stdio.h>
//自动类型转换
void main(){
float P1=3.14159;
int s, r=5;
double m;
m=r*r*P1;
s=r*r*P1; //r和P1都转换成double型计算,结果为double类型,但s为整型,故赋值结果仍为整型,舍去小数部分
printf("s=%d\n",s);
printf("m=%f\n",m);
//强制类型转换
float f=2.33;
printf("(int)f=%d,f=%f\n",(int)f,f); //强制类型转换只在运算中起作用,时临时的,本身的类型并不改变
}
运行结果: