-1

我没有得到任何错误,但我没有得到正确的值。它继续打印0!看起来它没有读取我的函数,我真的不知道它可能是什么。

#include <stdio.h>
#include <math.h>

int rec(int base, int ex,int ans);

int main()
{
int base;
int ex;
int ans;
for(ex=2;ex!=1;){
printf("Enter a base and an exponent\n");
scanf("%d %d",&base,&ex);


rec(base,ex,ans);

printf("%d raised to the %d is %d \n", base, ex, ans);
}
return 0;
}

int rec(int base, int ex,int ans)
{

ans=pow(base, ex);  

return ans;

}
4

1 回答 1

1

您的代码中有两个不同ans的地方,并且您对它们的解释不正确。rec分配to的返回值ans并删除 中的那个rec,因为它没有意义。开始了:

int main() {
    int base;
    int ex;
    int ans;
    for(ex=2; ex!=1;) {
        printf("Enter a base and an exponent\n");
        scanf("%d %d",&base,&ex);

        ans = rec(base,ex);

        printf("%d raised to the %d is %d \n", base, ex, ans);
    }
    return 0;
}

int rec(int base, int ex) {
    return pow(base, ex);    
}
于 2013-10-25T20:40:02.953 回答