C言語で文字列の比較を行う方法は何ですか?
C言語では、strcmp()関数を使用して、2つの文字列の比較ができます。
strcmp()関数のプロトタイプは次のようになります:
int strcmp(const char *s1, const char *s2);
この関数は、比較する2つの文字列のポインタを受け取ります。2つの文字列の大小関係を示す整数値を返します。
返り値が0の場合、2つの文字列は等しいことを示します。返り値が0より小さい場合、最初の文字列は2番目の文字列よりも小さいことを示します。返り値が0より大きい場合、最初の文字列は2番目の文字列よりも大きいことを示します。
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("The first string is smaller.\n");
}
else
{
printf("The second string is smaller.\n");
}
return 0;
}
上記のコードを実行すると、「最初の文字列は小さいです。」と出力されます。なぜなら、文字列”Hello”よりも文字列”World”の方が小さいからです。