gpt4 book ai didi

在 C 中计算指数而不使用 pow()

转载 作者:行者123 更新时间:2023-12-02 21:49:18 29 4
gpt4 key购买 nike

int main ()
{
int n = 0;
int base = 0;
while(n < 10)
{
int x = 2;
int answer = power(x, n);
float neganswer = negpower(x, n);
printf("%d %d %f\n", base, answer, neganswer);
base++;
n++;
}
return EXIT_SUCCESS;
}

int power(int base, int power)
{
int result, i;
result = 1;
for (i=0; i < power; i++)
{
result *= base;
}
return result;
}

int negpower(int base, int power)
{
float result, i;

result = 1.0;

for (i=0; i < power; i++)
{
result = result / base;
}
return result;
}

所以我试图调用我制作的这个函数,我认为它的计算正确,但是它只输出 1.0000000,然后直接输出 0.0000000。我认为我在携带浮点值时遇到了问题,有人可以插话吗?

谢谢

最佳答案

这是因为您从 negpower() 返回一个 float,其返回类型为 int 并将其分配给 float 否定答案
改变

int negpower(int base, int power)

float negpower(int base, int power)  

输出:

enter image description here

旁注:

  • Always add required header files.
  • A prototype should be declared if a function definition appears after the main().

关于在 C 中计算指数而不使用 pow(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18965155/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com