数据有不同的类型,不同类型数据之间进行混合运算时必然涉及到类型的转换问题
转换的方法有两种:
- 自动转换(隐式转换):遵循一定的原则,由编译系统自动完成
- 强制类型转换:把表达式的运算结果强制转换成所需的数据类型
类型转换的原则:占用内存字节数少(值域小)的类型,向占用内存字节数多(值域大)的类型转换,以保证精度不会降低
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
int main()
{
float price=3.14;
int weight=2;
//隐式转换:遵循一下的规则,由编译系统自动完成
double sum=price*weight;
printf("%lf ",sum);
float p=3.14;
int w=2;
//(int)p:(数据类型)强制类型转换运算符,不会四舍五入;(int)(p*w):将p*w的值化为整型,要四舍五入
int s=(int) p*w;
printf("%d ",s);
return EXIT_SUCCESS;
}