c - 求一个数的 n 次方根的函数

标签 c

在制作数学应用程序时,我需要计算一个数字的 n 次方根,该数字已知是完美的 n 次方。但为了找到它的 n 次方根,我使用了以下代码

int i, j, set;
for (i = 1; i <= number; i++)
{
    j = pow(i, exponent);
    if (j == number)
    {
        set == i;
        return set;
    }
}

函数 Root(int number,int exponent) 内部。

现在为了得到答案,我需要在“j == number”发生时捕获“i”的值,并且我需要将“i”的值作为返回值返回,以便我可以使用它。 它可以工作,但对于某些值,如 25,100 等,它会给出垃圾值作为答案。该程序的正确编码应该是什么?

最佳答案

这是因为set未初始化,即您从未设置它。你这样做:

set==i;
return set;

它将seti 进行比较(不执行任何操作)。然后你返回未初始化的它。做

return i;

因为您无论如何都不使用 set 进行任何操作。

关于c - 求一个数的 n 次方根的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42634221/

相关文章:

c++ - 为什么 C 和 C++ 允许表达式 (int) + 4*5?

c - 试图在 VS 2010 中使用 '#include <stdbool.h>'

C 共享内存数据库

c - 需要帮助消费者/生产者共享内存和信号量(c语言)

c - 需要一些关于如何编写这个程序的许可

c++ - 是否可以触发由 1 发送触发的 2 接收回调?

c - 在符合 MISRA 的情况下在 C 中传递缓冲区

c - 错误 : C Program for Arithmetic Operations using Functions

c++ - C++ 预处理器是否与 C 预处理器相同?

c - 使用目标MAC的ARP数据包