int main() {
char str1[21];
char str2[21];
char l_str1[21];
char l_str2[21];
printf("Please enter the first word: ");
scanf("%s", str1);
printf("Please enter the second word: ");
scanf("%s", str2);
Lowercase_Strings(str1, l_str1);
Lowercase_Strings(str2, l_str2);
printf("Lowercase string 1: %s", l_str1);
printf("Lowercase string 2: %s", l_str2);
// Converts original strings to lower case, keeping original string unchanged
void Lowercase_Strings(char str[21], char l_str[21]) {
char c;
int i;
for(i = 0; i < strlen(str); ++i) {
c = str[i];
l_str[i] = tolower(c);
}
}
やあみんな/女の子!ここでは新しいので、これをフォーマットする方法に問題がある場合は、批判を気にしません.
これは、2 つの文字列が互いのアナグラムであるかどうかをチェックする私のプログラムのスニペットです。大文字と小文字は区別されません。
ただし、配列は、呼び出しの順序やいずれかの配列に割り当てられた文字列に関係なくl_str1
、配列と比較して常に何らかの方法で「破損」してしまいます。l_str2
Lowercase_Strings
たとえば、str1 = "MARY"
andstr2 = "ARMY"
はになりますが、最後に 2 つのランダムな記号l_str2 = "army"
が付きます。l_str1 = "mary"
何が起こっているのか誰かが知っているなら、それはありがたいです。