小编use*_*396的帖子

为什么 C 中的 pow() 函数在循环中是 10 的奇数指数时给出错误答案?

#include <stdio.h> 
#include <math.h>

int main()
{
    int loop, place_value=0, c = 5;
    for(loop = 0; loop < c; loop++)
    {
        place_value = 0;
        place_value = pow(10, loop);
        printf("%d \n", place_value);
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这段代码给出

10 
99 
1000 
9999 
Run Code Online (Sandbox Code Playgroud)

为什么第 3 行和第 5 行分别是 99 和 9999 而不是 100 和 10000?

正常求电时,给出正确答案。

#include <stdio.h>
#include <math.h>

int main()
{
  printf ("%d", (int) pow (10,3 ));
  return 0;
}
Run Code Online (Sandbox Code Playgroud)
1000
Run Code Online (Sandbox Code Playgroud)

c math loops pow

3
推荐指数
1
解决办法
107
查看次数

标签 统计

c ×1

loops ×1

math ×1

pow ×1