如何用C语言编写代码来计算一个整数的幂?
时间: 2024-10-28 14:09:18 浏览: 17
C语言判断一个数是否是2的幂次方或4的幂次方
在C语言中,计算一个整数的幂通常可以采用循环而非递归,因为递归对于大数值可能会导致栈溢出。以下是使用循环实现的代码示例:
```c
#include <stdio.h>
long long int power(int base, int exponent) {
long long int result = 1;
while (exponent > 0) {
// 当指数为正时,乘法
if (exponent % 2 == 1) {
result *= base;
}
// 将基数平方并除以2
base *= base;
exponent /= 2;
}
return result;
}
int main() {
int base, exponent;
printf("请输入底数和指数:");
scanf("%d %d", &base, &exponent);
printf("结果是:%lld\n", power(base, exponent));
return 0;
}
```
在这个代码中,我们首先定义了一个名为`power`的函数,它接收一个底数`base`和一个指数`exponent`作为参数。在循环里,如果指数是奇数,就将结果乘以底数;然后将底数自乘并把指数除以2,直到指数变为0。这种方法称为"快速幂算法",效率较高。
阅读全文