在函式中,呼叫另一個函式,在此函式中再呼叫另一個函式,稱為巢氏呼叫…
下面的函式中,main()中呼叫powerSum(), 於powersSum()中呼叫power() .
#include <stdio.h>
int power(int, int); //原型宣告數值次方值函式power()
void powerSum(int, int, int); //原型宣告次方和函式powerSum()
int main(){
int x, y;
printf("計算兩個整數的2~4次方和, 請輸入2整數\n");
scanf("%d %d", &x, &y);
powerSum(x, y, 9); //x, y的9次方和 這三行為呼叫次方和的函式3次,都呼叫相同兩數值x, y與不同次方數
powerSum(x, y, 8); //x, y的8次方和
powerSum(x, y, 7); //x, y的7次方和
return 0;
}
void powerSum(int x, int y, int r){ //powerSum()的定義:算次方和的值,函式內會呼叫power()兩次
int v;
//將不同數值x, y與相同的次方r當成引數,傳到函式算…傳值回來相加為次方和
v = power(x, r) + power(y, r);
printf("%d 與 %d 的 %d 次方和 = %d\n", x, y , r, v);
}
int power(int value, int r){ //定義power(), 在第2行呼叫此函式時,數值與次方數當引數,傳入函數內算
int w=1;
int i;
for(i=0; i<r; i++){
w = w* value;
}
return w;
}
螢幕輸出結果
整合開發環境(Integrated Development Environment, IDE): Dev-C++ Version 5.11