在C中使用带有整数的pow()函数

时间:2017-12-23 04:07:10

标签: c

我有以下代码:

#include <stdio.h>

int main(){
    int power, n = 3;
    power = pow(10, n - 1);
    printf("power is %d", power);
    return 0;
}

输出为99.但它应该是100.当n = 3,5或8时发生此事件。为什么?

1 个答案:

答案 0 :(得分:1)

Pow是double函数,而不是int eger。因此,它具有小的舍入误差,并且可能计算99.999999996375左右。当您将其分配给int时,您将丢失小数点后面的所有数据。

为您的值使用双打,并打印双打(”%lf”),它会起作用。