我有兩個問題,C中的尾遞歸?
能一尾遞歸函數比2點的參數嗎?
以下實現在指數函數中,其基數爲 提高到其功率,有沒有其他方法可以進一步改進 下面的函數?
這是我的代碼:
#include <stdio.h>
int power(int m,int n, int o);
int powerAux(int m, int n);
main() {
printf("%d\n", powerAux(2,3));
}
int power(int m, int n, int o) {
if (o == 1) {
return m;
}
return power(m*n, n, o - 1);
}
int powerAux(int m, int n) {
return power(m, m, n);
}
我將輸出一個錯誤的值,因爲當我們通過在(2,3) 的功能將是 (2 * 2,2) (4 * 4,1) ,其是16,正確答案是8. – naveenath