#include<stdio.h>
int sub (int n,int a)
{
if(n<2)
return a;
return sub(n-1, a)*a;
}
int main()
{
printf("%d",sub(3,5));
}
输出后多少
5的3次方
sub(int n,int a)函数的作用是计算a的n次方
使用了递归方法。
但当n小于2,包括为负数时,结果都是a,这个和标准的a的n次方结果不一样
答案125
有这闲钱和时间,你随便开个在线编译网站,把代码粘进去执行一下不香吗
125,结果就是这么多
https://www.bejson.com/runcode/c740/
粘贴进去运行
#include <stdio.h>
int sub(int n,int a){
if(n<2) return a;
return sub(n-1,a)*a;
}
int main(){
printf("%d",sub(3,5));
return 0;
}
这是个递归调用的函数,你估计是想知道执行的过程,而不仅仅只是答案吧!
sub(3,5) 结果为 5 的三次方 555 为 125
第一次
sub (3,5) 调用 sub(3-1,5)*5
继续调用
sub(2-1,5) * 5 * 5
继续 1 < 2 所以返回 5
然后
5 * 5 * 5 得 5 的三次方 125