// 聲明
int my_strcmp(char *, char *);
// 定義
int my_srtcmp(char *s, char *t) { // 拼寫錯誤:srtcmp
// ...
}
undefined reference to 'my_strcmp':鏈接器找不到 my_strcmp 的定義,因為定義時寫成了 my_srtcmp。
int my_strcmp(char *s, char *t) { // 統一拼寫
// 正確實現
for (; *s && *t && *s == *t; s++, t++);
return *s - *t;
}
返回 *s - *t 可一次性處理三種情況(<、=、>),比多個 if 更簡潔。