已采纳回答 / 慕侠4134631
double与float的区别在于在内存中存放数据时占用的内存不一样,前者8字节,后者4字节,也就是前者保存的小数位数比后者多一倍。举例说明对于1.9999996666,按照float输出,结果可能为1.999999,如果按照double可能为1.999999,这是为什么,因为C语言默认输出小数位数都取6位,这时候看起来没有区别,但是如果你进行格式控制,比如使用%.10,即小数保留10位,float输出结果为1.9999990000,而double输出结果则为1.9999996666。
2019-09-17
已采纳回答 / 幕布斯3403446
#include <stdio.h>int main(){ double num = 2.5; //定义浮点型变量num并赋值为2.5 int x=(int)num; printf("num的整数部分是%d\n",x); return 0;}讲义中的意思,num在执行完int x=(int)num;时,数值会变回2.5,所以这样返回,结果还是2.5,需要用另一个变量把转换结果带出来
2019-09-15