プログラミング言語 C
関数 str_cmp は 文字列 s と t とを比較して、s が t より - 辞書での編集順のように - 小さいか 等しいか または 大きいか によって、それぞれ 負、0、正 の値を返す。
返り値 (value) は、s と t が 最初に 一致しなくなる ポジションでの 文字の引算によって 得られる。
- /* str_cmp : s < t ならば負の数、s == t なら 0、s > t なら正の整数を返す */
- int str_cmp(char *s, char *t)
- {
- int i;
- for (i = 0; s[i] == t[i]; i++)
- if (s[i] == '\0')
- return 0;
- return s[i] - t[i];
- }
関数 str_cmp の ポインタ版は 次の通り。
- int str_cmp(char *s, char *t)
- {
- for ( ; *s == *t; s++, t++)
- if (*s == '\0')
- return 0;
- return *s - *t;
- }
(p129-130)