gaotongxue 发表于 2021-3-11 00:28:27

为啥程序执行后计算的结果有的正确有的错误呢???

各位各位,初学c,希望各位不吝赐教!!!



这是s1e5的课后作业,原题



这是原题答案给出的代码



这是我的输出结果,后两项是正确的,第一项为啥错了嘞?少了五毛钱呀



这是我自己写的代码,计算公式有啥问题吗?我考虑是不是计算顺序问题,试了加括号也是错的,好奇怪呀


{:10_266:}
另外,float price;是把总价当作变量来处理的是吧?直接用define 定义输出结果在这里是不是不合理?

{:10_266:}
求教,大佬给我解释一下其中缘由,还有,指出我在这里的思路问题,多谢啦!!!

jackz007 发表于 2021-3-11 01:38:25

#define JL 7
. . . . . .
#define KXC 8
. . . . . .
#define YA 9
      修改为
#define JL 7.0
. . . . . .
#define KXC 8.0
. . . . . .
#define YA 9.0

gaotongxue 发表于 2021-3-11 14:50:41

jackz007 发表于 2021-3-11 01:38
修改为

按你说的,我试了下是对的,但老哥能不能解释下为啥呀{:10_277:}

jackz007 发表于 2021-3-11 15:58:01

本帖最后由 jackz007 于 2021-3-11 15:59 编辑

gaotongxue 发表于 2021-3-11 14:50
按你说的,我试了下是对的,但老哥能不能解释下为啥呀

          有浮点数参与的算术运算的结果是浮点数,没有浮点数参与的结果是整型数。例如,1 / 2 的值是 0,1.0 / 2 的值是 0.5。

gaotongxue 发表于 2021-3-11 16:27:01

jackz007 发表于 2021-3-11 15:58
有浮点数参与的算术运算的结果是浮点数,没有浮点数参与的结果是整型数。例如,1 / 2 的值是 ...

哇,明白了,多谢多谢
页: [1]
查看完整版本: 为啥程序执行后计算的结果有的正确有的错误呢???