gpt4 book ai didi

在没有 pow() 的情况下计算 C 中的指数

转载 作者:行者123 更新时间:2023-12-02 04:50:21 25 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().

关于在没有 pow() 的情况下计算 C 中的指数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18965155/

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