#include<stdio.h>
/*
eg:输入3 2
x=3,n=2 3的2次幂
scanf("%d%d",&x,&n);输入3 2后,下一步的int ret=outpow(x,n)
传递到函数体int outpow(int x, int n),因为n等于2,所以执行
x*outpow(x, n - 1) 开始递归,x*outpow(x, n - 1),把x=3,n=2
放进去后得到3*outpow(3,1),再传到函数头新一轮递归,新一轮
累计计算,所以第二轮得到3*3*outpow(3,0),因为n为0,所以满足
if条件,所以结果为3*3*1
*/
int outpow(int x, int n){
if (n <= 0)
return 1;
else
return x*outpow(x, n - 1);//3*3*1
}
void main(){
int x,n;
printf("input two data:\n");
scanf("%d%d",&x,&n);// test 3 2
int ret=outpow(x,n);// 传递调用
printf("output data:%d\n", ret);
}
C语言 计算x的n次幂
最新推荐文章于 2024-01-19 19:10:06 发布