私はこれで数時間頭を壁にぶつけてきました。どうすればいいのかわかりません。関数を何度か再構築しましたが、まだ正しく動作していません。
これは、私の C++ クラスでのプログラミング課題です。インストラクターが指定したデータ型、引数などのように、特定の形式が必要なので、そのようなものを変更することはできません。文字配列を使用する必要があるため、strcmp() を使用します。見つかった場合は人を返す必要があり、見つからない場合は NULL を返す必要があります。
私がこれまでに取り組んでいるものは次のとおりです。
person *classname::getPersonByName(char *name, person *rt)
{
if (rt != NULL)
{
if (strcmp(rt->Title, title) == 0)
{
return rt;
}
else
{
getPersonByName(title, rt->left);
getPersonByName(title, rt->right);
//return NULL;
}
}
}
デバッグでは、名前で問題なく人を見つけて返します。問題は、それがすぐに私の返品を上書きしてしまい、正しい正しい人に行き着かないことです.
コメントアウトされている一番下の NULL は、検索で見つかったかどうかに関係なく、すべての呼び出しを NULL に設定することになります。