天天看點

對被調用函數聲明、函數原型以及函數的嵌套調用、遞歸調用

// 對被調用函數的聲明和函數原型

在一個函數中調用另一個函數(即被調用函數)需要具備如下條件:

a.首先被調用的函數必須是已經定義的函數(是庫函數或使用者自己定義的函數)

b.如果使用庫函數,應該在本文開頭用#include 指令将調用有關庫函數時

所需用到的資訊"包含"到本檔案中來。

c.如果使用使用者自己定義的函數,而該函數的位置在調用它的函數(即主調函數)

的後面(在同一個檔案中),應該在主調函數中對被調用的函數作聲明(declaration)。

聲明的作用是把 函數名、函數參數的個數和參數類型等資訊通知編譯系統。

輸入兩個實數,用一個函數求出它們之和。

函數的首行(即函數首部)稱為函數原型(function prototype)

函數原型的一般形式為

1.函數類型 函數名(參數類型1 參數名1,參數類型2 參數名2,...,參數類型n 參數名n);

2.函數類型 函數名(參數類型1,參數類型2,...,參數類型n);

// 函數的嵌套調用

輸入4個整數,找出其中最大的數。

// 函數的遞歸調用

在調用一個函數的過程中又出現直接或間接地調用該函數本身,稱為函數的遞歸調用。

int f(int x)

{

 int y,z;

 z=f(y);

 return(2*z);

}

用遞歸方法求n!

hanoi(漢諾)塔問題