C語言練習題11(函式2)
阿新 • • 發佈:2020-12-27
技術標籤:錯題
二、選擇題
2-3
有如下函式呼叫語句: func(rec1, rec2+rec3, (rec4, rec5)); 則該函式呼叫語句中,含有的實參個數是( )。
自己認為是,一個型別,即一個逗號表達一個,故此題有4個。
逗號表示式的值只有一個,所以有三個實參。
2-4
有如下程式:
int func(int a, int b)
{ return(a+b); }
main( )
{ int x=2, y=5, z=8, r;
r=func(func(x, y), z);
cout<<r<<endl; }
該程式的輸出的結果是( )。
A.12
C.14
D.15
自己認為:逗號表示式得出為5,將5與8帶進去
但這並非逗號表示式,應該是2+5+8=15.
2-5
如果預設引數的函式宣告為“ void fun(int a,int b=1,char c=‘a’,float d=3.2);”, 則下面呼叫寫法正確的是( )。
自己:形參只能是變數,這裡宣告有常量,但是檢查時只檢查型別,並不檢查其他的,故這裡仍然是變數。
A.fun();
B.fun(2,3);
C.fun(2, ,‘c’,3.14)
D.fun(int a=1);
自己:C?
正確 B
如果有常量的話,當實參帶入若干個數時,型別相同的話,則將形參若干個數覆蓋,其餘不動,此時實引數可以少於形引數,不可大於;且有常量的話,可以只在宣告時候寫出常量(在主函式前寫在被調函式內,在主函式後寫在宣告內);