#include <stdio.h>
int calc_pow(int x, int y) {
if(y1){
return x;
}else if(y0){
return 1;
}else{
return x*calc_pow(x,y-1);
}
};
int main() {
int x = 2;
int y = 3;
int s = calc_pow(x, y);
printf("%d\n", s);
return 0;
}
递归 x×calc-pow(x,y-1)
第一次进来 y不等于1 也不等于0,于是到了最后一个else,y-1,y等于2了,继续递归,y不等于1也不等于0,继续递归,y-1,y等于1了,返回x,递归到上一级xx,再递归到上一级xx*x