---
# System prepended metadata

title: C習題5-43
tags: [C習題]

---

# C習題5-43
###### tags: `C習題`
## 題目:
>寫一個函式integerPower(base,exponent)可以回傳base^exponent
>利用遞迴
>ex:base^exponent = base * base^(exponent-1)
>結束條件exponent = 1時, base = base^1
## code:
```c=
#include <stdio.h>

int integerPower(int base, int exponent);

int main(void)
{
    int b,e;
    printf("Enter base value : ");
    scanf("%d",&b);
    printf("Enter exponent value : ");
    scanf("%d",&e);
    
    printf("The %d^%d value is : %d ",b,e,integerPower(b,e));
    
    return 0;
}

int integerPower(int m,int n)
{
    if(n==0) {
        return 1;
    }
    if (n==1) {
        return m;
    }
    else {
        return m * integerPower(m,n-1);
    }
    
}


```
## 心得
>第一次撰寫要宣告函式原型的習題, 頻繁查書, 對於引數的使用方式仍需多熟悉
>遞迴的關係很不直覺, 需要多想一下才能寫出(應該是我數學不好...)
>29行考慮次方=0的case, 但return 1怕碰到特殊例子(ex return 0), 不過好像沒事