小白到极客 发表于 2018-3-15 22:10:38

带你学c带你飞第五节课的动动手

本帖最后由 小白到极客 于 2018-3-16 09:12 编辑

代码如图 怎么回事会少????

ba21 发表于 2018-3-15 22:36:18

上代码

BngThea 发表于 2018-3-16 07:38:37

估计你抄错了某个系数

段黄鱼 发表于 2018-3-16 07:55:21

数抄错了吧

Dr丶温 发表于 2018-3-16 07:56:40

是不是哪个的价格错了。。。

小白到极客 发表于 2018-3-16 09:13:06

Dr丶温 发表于 2018-3-16 07:56
是不是哪个的价格错了。。。

对过了没错

小白到极客 发表于 2018-3-16 09:14:38

BngThea 发表于 2018-3-16 07:38
估计你抄错了某个系数

没有对了两遍了 心算答案对的你自己试试

小白到极客 发表于 2018-3-16 09:15:08

段黄鱼 发表于 2018-3-16 07:55
数抄错了吧

没错你心算试试答案差了

BngThea 发表于 2018-3-16 09:23:01

小白到极客 发表于 2018-3-16 09:14
没有对了两遍了 心算答案对的你自己试试

我拿你的代码算了是下面那组答案
12.2
18.3
36.5

风过无痕丶 发表于 2018-3-16 11:08:43

直接说问题,经过我的调试!
编译器直接把下述三个宏的数据类型认为是int型,所以直接把小数位丢了!

#define AI(t)7 / 2 * t

#define AE(t)8 / 2 * t

#define RA(t)9 / 2 * t


再看二图


证实了我的猜测,编译器确实把这三个宏定义的数据类型认为是int型,所以不保留小数位
解决方法就是

#define AI(t)7.0F / 2 * t

#define AE(t)8.0F / 2 * t

#define RA(t)9.0F / 2 * t

其中 7.0F 表示 float的7.0如果不加 默认表示double类型的7.0
页: [1]
查看完整版本: 带你学c带你飞第五节课的动动手