私は文字が元の文字列に表示されるたびに1つを追加する文字列を使用してアナグラムをチェックするcoeを構築しようとしています。使用してstrcmp
私はstrcmpと2つの文字列を比較することでこれをやっていますが、何らかの理由で私はいつも文字列が同じではなくても同じであることを知っています。
ありがとうございました!
int firstWord[] = { 0 }, secondWord[] = { 0 }, len, i, j, anagrams=0;
char string[1000];
gets_s(string, sizeof(string));
len = strlen(string);
i = 0;
while (i < len) {
if (string[i] == ' ') {
for (j = i + 1; j < len; j++) {
secondWord[string[j]]++;
}
}
if (string[i] != ' ')
firstWord[string[i]]++;
if (strcmp(firstWord, secondWord) == 0) {
anagrams++;
}
i++;
}
'firstWord'と' secondWord'を埋めるためにあなたのコードを見て、私は、彼らはあなたが彼らがやっていると思う何をやっているとは思わない... それは** firstWord'が終わる 'のように私には見えます**空白ではないすべての文字で始まります。そして、 'secondWord'はスペースの後の文字から始まる行の内容を持っています。 –
あなたが達成したい実際の目的は何ですか...それほど明確ではありません...しかしアドバイスの言葉...文字として配列のインデックスを持つことを避けてください...あなたは大きなトラブルにも貸し出しができます非常に予期しない結果 –
@ShreyanMehtaリプレイのためにこんにちは感謝します。私は2つの単語がお互いのanagramsているかどうかを確認することができるように、各単語が各単語に何回出現するかを数えようとしていますが、何らかの理由で比較が行われないということです、if(strcmp(何らかの理由で – user7792712