1
2d配列の中で最も長い文字列を見つけ出す関数を書いています。私の問題は、他のものをチェックせずに見つけた最初の最長の文字列が必要だということです。Cの2次元配列の中で最長の文字列を見つける
例えば、文字列の次のリスト:
はEKE
EM
ekeke
EME
電子
ememeememe
EMEM
ekekee
eooeeeeefe
eede
私の機能は、 "ememeememe"ではなく "ekeke"(リストの3番目の文字列)を最長としています。彼の価値は、彼の値は50
文字列は、ユーザによって与えられている、10
MAX
が一定である、
void length(char str[][MAX])
{
int i = 0;
for(i = 1; i < LEN; i++)
{
if(strlen(str[i]) > strlen(str[i-1]))
{
if(strlen(str[i]) > strlen(str[i+1]))
{
printf("%s", str[i]);
break;
}
}
}
}
LEN
が一定である:
は、ここに私の関数です。
ありがとうございました。
デバッグしましたか? – Carcigenicate
各文字列の長さと、配列内の次の文字列の長さを比較します。 'ekeke'は' em'(前の)より長く、 'eme'(次の)より長く、したがって出力されます。 – gurka
@Carcigenicate - 私はデバッガを持っていません – Ma250