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才能取得浮点数结果
本回答被提问者采纳