# C 程序：计算数字的幂

> 原文： [https://www.programiz.com/c-programming/examples/power-number](https://www.programiz.com/c-programming/examples/power-number)

#### 在此示例中，您将学习计算数字的幂。

要理解此示例，您应该了解以下 [C 编程](/c-programming "C tutorial")主题：

*   [C 编程运算符](/c-programming/c-operators)
*   [C `while`和`do...while`循环](/c-programming/c-do-while-loops)

* * *

下面的程序从用户那里获取两个整数（一个基数和一个指数）并计算功效。

例如：对于`2 ^ 3`

*   2 是基数
*   3 是指数
*   并且，幂等于`2*2*2`

* * *

## 使用`while`循环的数字幂

```c
#include <stdio.h>
int main() {
    int base, exp;
    long long result = 1;
    printf("Enter a base number: ");
    scanf("%d", &base);
    printf("Enter an exponent: ");
    scanf("%d", &exp);

    while (exp != 0) {
        result *= base;
        --exp;
    }
    printf("Answer = %lld", result);
    return 0;
} 
```

**输出**

```c
Enter a base number: 3
Enter an exponent: 4
Answer = 81 
```

仅当指数为**正整数**时，以上技术才有效。

如果需要找到具有任何实数的幂的幂，可以使用`pow()`函数。

* * *

## 使用`pow()`函数的幂

```c
#include <math.h>
#include <stdio.h>

int main() {
    double base, exp, result;
    printf("Enter a base number: ");
    scanf("%lf", &base);
    printf("Enter an exponent: ");
    scanf("%lf", &exp);

    // calculates the power
    result = pow(base, exp);

    printf("%.1lf^%.1lf = %.2lf", base, exp, result);
    return 0;
} 
```

**输出**

```c
Enter a base number: 2.3
Enter an exponent: 4.5
2.3^4.5 = 42.44 
```