「C言語における文字列比較のライブラリ関数は何ですか?」
C言語では、文字列を比較するためのライブラリ関数は`strcmp()`です。これは、2つの文字列の内容を比較し、比較結果を表す整数値を返します。
`strcmp()`関数の宣言は以下の通りです:
int strcmp(const char *str1, const char *str2);
その関数は、比較する2つの文字列を引数として受け取ります。これらの引数は、それぞれ`const char *`型です。
以下は、関数の返り値の意味です:
もし`str1`と`str2`が等しければ、0を返す。
str1がstr2より小さい場合、通常は-1を返す。
もし、str1がstr2より大きい場合は、正の数(通常は1)を返します。
例えば、以下のコードは、`strcmp()`関数を使用して二つの文字列を比較する方法を示しています。
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = “Hello”;
char str2[] = “World”;
int result = strcmp(str1, str2);
if (result == 0) {
printf(“The strings are equal\n”);
} else if (result < 0) {
printf(“%s is less than %s\n”, str1, str2);
} else {
printf(“%s is greater than %s\n”, str1, str2);
}
return 0;
}
結果は”Hello is less than World”になります。なぜなら、アルファベット”H”のASCII値は”W”よりも小さいからです。