再帰呼出しの説明はどれか。
あらかじめ決められた順番ではなく、起きた事象に応じた処理を行うこと
関数の中で自分自身を用いた処理を行うこと
処理が終了した関数をメモリから消去せず、必要になったとき再び用いること
処理に失敗したときに、その処理を呼び出す直前の状態に戻すこと