「リターンノード」がここに必要な理由はわかりません。スタックからの起動レコードを一番上にポップしていますか?BSTインサートの最後にリターンが必要なのはなぜですか?
struct node* insert(struct node* node, int key)
{
if (node == NULL) return newNode(key);
/* Otherwise, recur down the tree */
if (key < node->key)
node->left = insert(node->left, key);
else if (key > node->key)
node->right = insert(node->right, key);
/* return the (unchanged) node pointer */
return node;
}
「アクティベーションレコード」は何ですか? – jackarms
文脈がなければ、わかりません。 – Evert
何かを返す関数が宣言されていますか?何も返さず、返された値を使用しようとすると(何も存在しない)、[*未定義の動作*](https://en.wikipedia.org/wiki/Undefined_behavior) 。再帰呼び出しが返された値の代入によって、別の方法で動作するとはどのように考えますか? –