今天又被精度问题困扰,把最基本的东西忘了。
int n = 5;
double cnt = 5.5;
double sum = (n-cnt); 运算完后sum是 -0.5。不知道什么时候n转换成double类型。
结果搜索了下:
当一个低精度的数据类型和一个高精度的数据类型运算时,运算结果为高精度。
C语言默认的隐式转换规则:
char,short --> int --> unsigned --> long --> double <-- float。
先挖个坑,考完试补一下。
1.小指针大数据 大指针小数据(显式转换)
2.六种指针