-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コードに2 つの異なるものがあり、それらを正しく解釈していません。の戻り値を に代入し、 の戻り値をrec削除ansrecます。意味がないためです。どうぞ:

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 に答える