「順序、分支、循環可描述任何算法」。要把問題映射為這三種結構,需大量練習,唯有狠下功夫。
返回類型 函數名(形參列表) {
函數體
return 表達式; // 若需要
}
好函數名自文檔化;像吃飯的碗,完好就能反復用,每個「碗」獨立,有 bug 單獨修。
定義時接收的叫形參,調用時傳入的叫實參。
void change(int a, int b) {
int temp = a; a = b; b = temp;
}
int main() {
int i = 0, j = 1;
change(i, j);
printf("i=%d, j=%d", i, j); // 輸出 0, 1 —— 未交換!
}
調試發現:形參 a,b 與實參 i,j 地址不同!交換的只是「克隆人」。


_cdecl (C 默認):調用方清棧。調用方知參數個數,支援 printf 等可變參函數。_stdcall / _fastcall:被調用方自清棧。丟臉事不告訴別人,但不支援可變參。VC6.0 中 Project Settings → C/C++ → Calling convention 可切換。