この関数の目的
strcmp()は、文字列を比較する。
定義
#include <string.h> int strcmp(const char *s1, const char *s2);
働き
この関数は、 s1 が指す文字列を s2 が指す文字列と比較する。
返り値は、 s1 が指す文字列が s2 が指す文字列より大きいか、等しいか、小さいかによって、負、ゼロ、正の整数値である。
解説
この関数は文字数チェックを行わないので、ヌル止めされていない文字列を比較しようとすると、際限なく参照してしまう。 実際には不定の領域が等しいことは少ないので、実行時エラーにならないかもしれないが、返り値はでたらめであり、これを使えば明らかなバグとなる。 比較したい文字数の上限が分かっているのであれば、 strncmp() を使うのが安全である。
文字列の大小を決める方法は定義されていないが、等しい文字列を比較すればゼロが返るということは決まっている。
返り値を使って、検索に便利な二進木を構築することができる。