在制作数学应用程序时,我需要计算一个数字的 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;
它将set
与i
进行比较(不执行任何操作)。然后你返回未初始化的它。做
return i;
因为您无论如何都不使用 set
进行任何操作。
关于c - 求一个数的 n 次方根的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42634221/