C言語で文字列の文字を一つずつ比較する方法は何ですか?
C言語では、strcmp()関数を使用して2つの文字列の文字を1つずつ比較することができます。 strcmp()関数のプロトタイプはstring.hヘッダファイルにあり、使用方法は次の通りです。
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello";
char str2[] = "World";
int result = strcmp(str1, str2);
if (result == 0) {
printf("两个字符串相等\n");
} else if (result < 0) {
printf("%s 在 %s 之前\n", str1, str2);
} else {
printf("%s 在 %s 之后\n", str1, str2);
}
return 0;
}
上記の例では、strcmp()関数はstr1とstr2を文字ごとに比較します。両方の文字列が等しい場合、strcmp()関数は0を返します。最初の文字列が辞書順で2番目の文字列より前にある場合、strcmp()関数は負の値を返します。最初の文字列が辞書順で2番目の文字列より後ろにある場合、strcmp()関数は正の値を返します。
strcmp()関数は大文字と小文字を区別します。大文字と小文字を区別せずに比較を行いたい場合はstrcasecmp()関数を使用してください。