我正在尝试编写一个自定义pow函数,与pow(). 我认为我遇到了范围问题,但我无法弄清楚如何让我的MyPower函数将自定义pow函数的结果返回给名为“ result”的全局变量。我最终只需要来自的号码,result以便我可以查看它是否与pow()得到的相同。
#include <stdio.h>
#include <math.h>
double base, pow_result, x , result;
int exponent, i;
double MyPower(double base, int exponent);
void DoTest(double base, int exponent);
int main(void){
int i, j;
for(i = 1; i < 5; i++){
for(j = 1; j < 5; j++){
DoTest(i,j);
}
}
}
double MyPower(double base, int exponent){
for(i = 1; i < exponent; i++){
base *= base;
result = base;
}
return result;
}
void DoTest(double base, int exponent){
pow_result = pow(base, exponent);
if(result == pow_result){
printf("Testing %f to the %d power\n", base, exponent);
}
else{
printf("%f to the %d is %f, result is %f\n", base, exponent, pow_result, result);
printf("doesnt work\n");
}
}
一旦它是正确幂的基础值,我期望返回结果。然后它将与 pow_result 进行比较,它们将相等。截至目前, pow_result 正在返回正确的数字,但结果每次都只是 0。我对这一切都很陌生,所以非常感谢任何帮助。