编写一个函数实现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; }
原文:http://iynu17.blog.51cto.com/10734157/1711613