c语言问题:已知梯形的上底为a,下底为b,高为h,用c语言写的正确面积公式是 1.0/2*(a+b

c语言问题:已知梯形的上底为a,下底为b,高为h,用c语言写的正确面积公式是 1.0/2*(a+b)*h ,为什么不是1/2*(a+b)*h

如果你定义a,b,h为整型变量的话,在执行1/2是就会将结果自动转换为整数,因为1和2都是整形数据;而1.0/2中,1.0为浮点型数据,会自动将结果转换为浮点型数据!!!懂了吗??

欢迎随时追问~~~
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-20
转换成小数才行啊,1/2结果是0了追问

为什么1/2是0?

追答

1和2都是整型,相除的结果也是整型,也就是0.5的整数部分。写成1.0/2才能取得浮点数结果

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网