掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
再帰の中のResultの取得の方法するには? (ID:35037)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> 再帰の中に、Resultがあると、再帰の分だけ、Resultが返るんですか? 単にaの値をResultに入れてるから、 aの最終的な値が関数値になってるだけでしょう。 > 再帰で、止まりますよね? 関数なんですから、終わったら呼び出し元に戻ってきます。 Reflexive(1) {1}をやる Reflexive(2)を呼ぶ {1}をやる Reflexive(3)を呼ぶ …… Reflective(9)を呼ぶ {1}をやる (a=10になったので再帰終わり) {3}{4}{5}をやる Reflective(9)から戻ってくる {3}{4}{5}をやる …… Reflective(3)から戻ってくる {3}{4}{5}をやる Reflective(2)から戻ってくる {3}{4}{5}をやる Reflective(1)から戻る いったい何を目的にした関数なのかさっぱりわかりませんが、 > これの戻り値を、最初の13にするにはどうしたらいいのでしょうか? と言うなら if a < 10 then Result := Reflexive(a) else begin a := a + 3; Result := IntToStr(a + 3); end; とでもすればいいのでは。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.