天籁软件 发表于 2021-4-15 19:22:48

C语言问题:为什么两次的b输出不一样?求解



东方三少爷 发表于 2021-4-17 23:37:52

定义float而float有效数字(精度)只为7位,也就是说在1234567后面的几位数字已经不准确,把float改成double就好咯

符执松 发表于 2021-5-2 07:10:33

精确度的问题吧,改个更高精度的数据类型应该就可以了

呈子 发表于 2021-5-19 19:12:40

如果是精度问题,那么一开始精度就丢失了,把丢失精度后的信息保存在b的内存里,之后b的内存没再变化(此时已经不存在精度问题)。所以即使精度丢失,因为b的内存信息没有再发生变化,所以两次打印的都是b的内存信息,而b的内存信息都是一样的,按理打印结果应该一样。如果不一样,只能怀疑是打印格式了,估计是b内存的二进制信息又做了什么转换才打印,导致两次转换结果不一样。
页: [1]
查看完整版本: C语言问题:为什么两次的b输出不一样?求解