return 表達式; 返回單一值,允許多處 return 但每次調用僅執行一個。void,避免誤用其返回值。調用前必須聲明,讓編譯器知道返回類型與參數類型。現代格式:
int max(int a, int b); 或 int max(int, int);
傳統格式 int max(); 無參數資訊,易發生錯誤。
int 或 char,編譯器預設為 int。extern 預先聲明所有函數原型。等同普通變量,值傳遞。例:nzp(a[i]) 將第 i 元素值傳給形參 v。
形參與實參共享同一塊記憶體(形參不分配新空間),形參修改直接影響實參。
注意:
a. 類型必須一致。
b. 長度可不一致(僅傳首址),但邏輯上需自行把控。
c. 形參長度可省略或用變量表示:void nzp(int a[], int n)。
d. 多維數組需指定除第一維外的所有維度:int MA(int a[][10])。
/* 例:數組名作參數修改原數組 */
void nzp(int a[], int n) {
for (int i = 0; i < n; i++) if (a[i] < 0) a[i] = 0;
}
main() { int b[5] = {1,-2,3,-4,5}; nzp(b,5); /* b 變 {1,0,3,0,5} */ }