按理来说a应该等于0.833333。但是结果a等于零
这是因为,程序先整数计算b/c此时的输出实际上是被截去了小数部分,再转化为float的数故应该把bc定义为浮点类型。
这是一个求π的小程序。其算法是:
原因和第一个例子一样,由于我们定义t为整型而fabs和pi嘟是双精度型,故在计算 1 / t 时程序先整数计算1 / t ,取整数部分再对其转换为双精度型。因此循环体只执行一次,在 t = -3 时fabs() = 0,执行break退出循環。
为使得程序正常运行我们应该把t定义为双精度型。