の場合、ユーザーが単語を入力すると、複数のバージョンに変更されるこのプログラムを作成する必要があります。私には3つのルールがあります。Cの文字配列要素で動作しないステートメントが
- それは「Y」で終了した場合、我々はそれが「SH」または「CH」で終わる場合、我々は終わりそうで
- に「ES」を追加「IES」
- に変更し、私たちは、私は私が適用するルールかを調べることができるように文は、機能
WhichRule
はRuleOne(char word[], char plural [])
、RuleTwo(char word[], char plural [])
、およびRuleThree(char word[], char plural [])
を呼び出すかどう書くことになっています、私はWhichRule(char word[], char plural [])
という名前のこの機能を持って終了
で「s」を追加します。
私のif文を書くのに問題があります。コピーしようとしているコードは、私がif文を書こうとした2つの異なる方法ですが、どちらもうまくいきません。助けていただければ幸いです。
void WhichRule(char word[], char plural[])
{
int len = strlen(word);
if (word[len - 1] = 'y')
{
ApplyRuleOne(plural, word);
printf("this");
}
else if (word[len - 2, len - 1] = 'c', 'h')
{
ApplyRuleTwo(plural, word);
printf("is");
}
else if (word[len - 2] == 's' && word[len - 1] == 'h')
{
ApplyRuleTwo(plural, word);
printf("a");
}
else
{
ApplyRuleThree(plural, word);
printf("test");
}
}
'単語[LEN - 1] ==「y''平等[len-2] == 'c' && word [len-1] == 'h' '。 – coderredoc
'else if(word [len - 2、len - 1] = 'c'、 'h')' - これは何ですか? – Steve
'else-if'にコンマ演算子があり、等価性をチェックする代わりに再度割り当てられます。 –