递归实现 n的k次方

编写一个函数实现n^k,使用递归实现


使用尾递归的方法,当传入的参数k等于0的时候返回num;

参数不为0是返回num*num(每使用一次递归调用一次函数k都要减去1)

递归必须要有限定条件,否则递归会无限制的进行下去,程序会出现溢出的崩溃问题

#include<stdio.h>
#include<stdlib.h>
int  power(int num, int k)
{
	k--;
	if (k == 0)
		return num;
	else
		return num*power(num, k);
}
int main()
{
	int n = 0;
	int k = 0;
	scanf("%d%d", &n, &k);
	printf("%d\n", power(n, k));
	system("pause");
	return 0;
}


wKiom1ZB_eXgdPkaAAATVAqZmt8978.png

你可能感兴趣的:(递归,C语言,k次方)