/*
*数据类型转换
*
* 不同类型的数据要转换成同一类型的才可以进行计算
* 相同类型的数据在转换时有规则可循
* 字符型先转换为整数
* short型转换为int型
* float型在运算时转换为double型
* 不同类型数据发生转换时,遵循低级向高级类型转换的原则
* 在赋值语句中,若发声类型转换,赋值语句右边的值转换为左值得类型
*
*/
# include <stdio.h>
int main()
{
int a = 5;
char c = 'a';
float f = 5.3;
double m = 12.65;
double result;
printf("a + c = %d\n", a+c);//5 + 97 = 102
printf("a + c = %c\n", a+c);//5 + 97 = 102以字符型输出为'f'
printf("f + m = %f\n", f+m);//5.3 + 12.65 = 17.95000
printf("a + m = %f\n", a+m);//5 + 12.65 = 17.65000
printf("c + f = %f\n", c+f);//97 + 5.3 = 102.3000
result = a + c*(f + m);// 结果会强制转换为double型5 + 97(5.3 + 12.65)
printf("double = %f\n", result);//结果被强制转换为float型,可能会丢失精度
return 0;
}
/*
<span style="white-space:pre"> </span>运行结果:
*/