int cost = 12.99 // 实型常量默认为double类型,如此定义,会将小数部分直接截去,以后cost = 12函数
float pi = 3.1415926536 // 实型常量默认为double类型,有效位默认>=10位,而float有效位为6位,因此pi会丢精度为3.14159spa
*检测数据转换的常见错误*/
# include <stdio.h>内存
int main(void)
{
int f = 4;
int g = 5;
float h = 5.0f;编译器
printf("%d\n", f, g);
printf("%d %d\n",f);
printf("%d\n", h);io
return 0;
}
/*输出结果
0
4 0
0
*/
//不一样的编译器的输出结果是不一样的,所以,参数数目和类型必定要匹配编译
printf(“%1.2f”, a);//表示把a输出保留2小数用四舍五入,且整个数字占用1格。变量
float num = 126.2 //其中num在做为参数传递时会转换为double存放在内存中float
总结总结
当出如今表达式里时,char 和short 都会转换成int,视状况转换成unsigned int。,float转化成double类型数据
在混合运算中低级类型转换成高级类型;由高到低 long double ,double ,float,unsigned long long ,unsigned long, long, unsigned int, int
在赋值语句中计算结果会被转换成将要被赋予值的那个变量的类型。
当作函数参数传递的时候,char 和short 转化成int 而float 转化成double
int b;b+5;中5默认是int