void tolower(char ch) {
if (ch >= 'A' && ch <= 'Z')
ch += 32; // 只修改區域副本
}
呼叫 tolower(ch) 時,ch 以**傳值**方式傳入,函數內修改不影響原變數。
void tolower(char *ch) {
if (*ch >= 'A' && *ch <= 'Z')
*ch += 32; // 透過指標修改原記憶體
}
// 呼叫
tolower(&ch);
char tolower(char ch) { ... return ch; },呼叫 ch = tolower(ch);。<ctype.h> 的 tolower() (注意:標準庫版本行為與地區設定相關)。C 語言**只有傳值呼叫**,要在函數內修改呼叫端變數,必須傳遞該變數的**位址 (指標)**。