此题的解决思路为:n^k可以理解为n*n^k-1,当k=0时,n^0=1。每一次传参的过程都不断地向n^0靠近。这样分析下来代码的大体框架就出来了。
具体代码如下:
#include <stdio.h>
#include <stdlib.h>
int fun(int n, int k)
{
int ret = 0;
if (k == 0)
{
ret = 1;
}
else
{
ret = n*fun(n, k - 1);
}
return ret;
}
int main()
{
int n = 2;
int k = 3;
printf("ret = %d\n",fun(n, k));
system("pause");
return 0;
}