s-1900 发表于 2018-8-13 08:23:41

第五节课后作业动手题

本帖最后由 s-1900 于 2018-8-13 08:26 编辑



为什么我用两种方法算出来的M的结果总是11.7?但答案是12.2。

BngThea 发表于 2018-8-13 09:05:24

f是int,f/2本应该为4.5,但是int计算结果即为4,少了0.5

冬阳阳 发表于 2018-8-13 12:12:22

楼上正解,
补充一句,除法结果会出现小数时,要把它定义为float而不是int。

s-1900 发表于 2018-8-13 16:42:49

那为什么我的第一个程序,我的符号常量也没定义数据类型呀,为什么会出现跟第二个程序一样的结果,而且第一个程序仍然少了0.5?

weizhongyang 发表于 2018-8-14 11:18:23

因为你输出的是需要float类型且保留两位小数,所以宏定义的时候需要定义成类似float格式
改写成这样:
第一个程序:
#define A 3.7
#define D 8.0
#define F 9.0

第二个程序跟第一个程序类似,需要把int类型的定义改写成float,这样才能得到你所想要的正确答案。

s-1900 发表于 2018-8-19 10:34:06

可惜标准答案只能给一个,但还是很感谢大家的帮助
页: [1]
查看完整版本: 第五节课后作业动手题