【发布时间】:2011-09-27 20:12:05
【问题描述】:
可能重复:
Why can't I return a double from two ints being divided
使用 gcc 的 C 语言中的这条语句:
float result = 1 / 10;
产生结果 0。
但是如果我分别用值 1 和 10 定义变量 a 和 b 然后执行:
float result = a / b;
我得到 0.1 的预期答案
什么给了?
【问题讨论】:
-
变量
a和b有哪些类型? -
你应该试试
float result = 1.0 / 10.0; -
我相信这是因为 1/10 它是在编译时解决的,并且因为您没有指定任何十进制数,编译器认为它是整数。尝试制作 1.0/10.0
-
我今天回答了一个这样的问题。 stackoverflow.com/q/7571326/550514
-
为什么不直接写:
float result = 0.1;?