int strcmp( const char *s, const char *t )
文字列 s と t を比較し、最初に見つけた異なる文字の文字コードを比べて、次のいずれかの値を返します。
s < t のとき 負の値
s > t のとき 正の値
s と t が同じなら、ゼロを返します。
#include <stdio.h> #include <string.h> main() { char buf1[] = "Hello"; char buf2[] = "Hello"; // --------- (1) ---------- if( strcmp( buf1, buf2 ) ) printf( "(1)同じ\n" ); else printf( "(1)違う\n" ); // --------- (2) ---------- if( strcmp( buf1, buf2 ) == 0 ) printf( "(2)同じ\n" ); else printf( "(2)違う\n" ); // --------- (3) ---------- if( buf1 == buf2 ) printf( "(3)同じ\n" ); else printf( "(3)違う\n" ); }
間違っているものは、その理由も考えてみましょう。
(答えは、次回のC言語の Tips で ・・・)
数字の文字は '0', '1', '2' ・・・ と大きさ順に並んでいます。
たとえば、文字 '0' の文字コードに 2 を足したものは文字の '2' です。