c语言乘方 a的 n次幂
时间: 2024-09-29 12:07:12 浏览: 49
c语言非递归快速幂demo
在C语言中,计算一个数a的n次幂可以使用递归或者循环的方式来实现。以下是两种常见的方法:
**1. 递归法:**
```c
int power(int base, int exponent) {
if (exponent == 0) // 基本情况,0的任意次幂都是1
return 1;
else if (exponent > 0)
return base * power(base, exponent - 1); // 递归调用
else if (exponent < 0)
return 1 / power(base, -exponent); // 负指数转化为正指数并取倒数
}
```
**2. 循环法(更高效,避免递归带来的栈溢出风险):**
```c
int power(int base, int exponent) {
int result = 1;
for (int i = 0; i != exponent; ++i)
result *= base;
return result;
}
```
这两种方法都可以有效地求解给定数值的幂。
阅读全文