先考虑k=0和k=1的情况,然后找准递归出口
#include<stdio.h> #include<Windows.h> int power_fun(int n, int k) { if (k ==0) //注意这儿不是K=0;是要进行比较而不是赋值 { return 1; } else if (k==1) { return n; } else { return n*power_fun(n, k - 1);//递归函数出口 } } int main() { int n = 3; int k = 3; printf("%d\n", power_fun(n, k)); system("pause"); return 0; }