末尾再帰は、 gotoと同じ効果を実行します。つまり、lang C では、whileとgotoが Scheme の末尾再帰の役割を置き換えます。設計者がgotoとwhileの両方の実装を C で保持することに決めた理由は何ですか? 実際の場面で「goto」を使う人はほとんどいないと思います。
gotoとwhileが、C が再帰的に書くことによって反復を実装できないという欠点を補うものである場合、それらは同じ特別な構造にあるのでしょうか? - 通常の再帰を避けるため。(Scheme で 'cond' が 'if' と異なるのと同じように) この問題は、両方の単語を保持する理由に関連していますか?