(10 1)函式的設計之函式的預設引數

2021-10-02 12:57:32 字數 2362 閱讀 5465

返回型別 函式名(..

.,型別 預設引數名=預設值)

eg:int add(

int x=5,

int y=6)

int main(

)

int volume(

int l,

int w ,

int h=1)

;int volume(

int l,

int w ,

int h=1)

//定義再次設定, 錯誤

int volume(

int l,

int w ,

int h=1)

;int volume(

int l,

int w ,

int h)

// 正確

int volume(

int l,

int w ,

int h=1)

;//h為預設引數, 正確

int volume(

int l,

int w=1,

int h=1)

;//w,h為預設引數, 正確

int volume(

int l=1,

int w=1,

int h=1)

;//l,w,h為預設引數, 正確

int volume(

int l=1,

int w ,

int h)

;// 錯誤

int volume(

int l,

int w=1,

int h)

;// 錯誤

//全域性變數p1,p2

int p1=

2, p2=10;

intmax

(int a,

int b)

int volume(

int l,

int w ,

int h=1)

;//允許常量

int volume(

int l,

int w ,

int h=p1+p2)

;//允許全域性變數及表示式

int volume(

int l,

int w ,

int h=

max(5,

6));

//允許函式呼叫

int volume(

int l,

int w ,

int h=

max(p1,p2)

)//允許全域性變數函式呼叫

#include 

using namespace std;

int p1=

2, p2=10;

intmax

(int a,

int b)

int volume(

int l=1,

int w=p1+p2 ,

int h=

max(p1,p2)

)int main(

)

//形參型別不同

int add(

int a,

int b)

;double add(double a, double b)

;//形參個數不同

int add(

int a,

int b)

;int add(

int a,

int b,

int c)

;

#include 

using namespace std;

intmax

(int a,

int b)

//整型版本

double max

(double a, double b)

//雙精度版本

long

max(

long a,

long b)

//長整型版本

int main(

)

#include 

using namespace std;

intmax

(int a,

int b)

//兩個引數版本

intmax(

int a,

int b,

int c)

//三個引數版本

int main(

)

C 帶預設形參的函式

先上 int sub int x 8,int y 3 void main 注意事項 1 c 呼叫函式時,引數是自由到左入棧的。因此,預設形參必須從右向左連續定義,並且在乙個預設形參的右邊不能有非預設的形參。int f int a,float b 5.0,char c int d 10 正確 int ...

變參函式設計

變參函式的應用得比較少.輸出log資訊功能的函式演常會用到變參函式.什麼是變參函式?比如 printf 個數 d,總數 d a,b printf就是變參函式,因為其引數的個數不是固定的.變參函式一般用到下列巨集 va arg retrieve argument from list va end re...

可變參函式設計

先寫乙個不定參函式 返回值為 不定參引數之和,ps 巨集由自己定義的,與庫里的不一樣 include define va list void 形參列表元素的指標 define va arg arg,type type arg arg char arg sizeof type 取出不定參的第乙個值 指...