ツールのタグ
ディレクトリ
ツールのタグ
C の再帰
再帰とは、関数の定義の中で関数そのものを使用する方法を指します。
例:
昔々、山があって、その山にお寺がありました。お寺に老僧がいて、若い僧侶に話をしていました。何の話ですか? 「むかしむかし、山があって、その山にお寺がありました。お寺に年老いた僧侶がいて、若い僧侶に物語を語っていました。その物語は何ですか?」山があって、その山にお寺がありました。お寺には老僧がいて、小さな僧侶に物語を語っていました。 .'"
構文形式は次のとおりです:
void recursion(){
recursion(); /* 函数调用自身 */}int main(){
recursion();}C 言語は再帰をサポートしています。つまり、関数はそれ自体を呼び出すことができます。ただし、再帰を使用する場合、プログラマは関数を終了するための条件を定義することに注意する必要があります。そうしないと無限ループに陥ってしまいます。
再帰関数は、数値の階乗の計算、フィボナッチ数列の生成など、多くの数学的問題を解決する上で重要な役割を果たします。
数値の階乗
次の例では、再帰関数を使用して、指定された数値の階乗を計算します。
#include <stdio.h>double factorial(unsigned int i){ if(i <= 1) { return 1; } return i * factorial(i - 1);}int main(){ int i = 15;
printf("%d 的阶乘为 %f\n", i, factorial(i)); return 0;}上記のコードがコンパイルされて実行されると、次の結果が生成されます:
15 的阶乘为 1307674368000.000000
フィボナッチ数列
次の例では、再帰関数を使用して、指定された数値のフィボナッチ数列を生成します。
#include <stdio.h>int fibonaci(int i){ if(i == 0) { return 0; } if(i == 1) { return 1; } return fibonaci(i-1) + fibonaci(i-2);}int main(){ int i; for (i = 0; i < 10; i++) {
printf("%d\t%n", fibonaci(i)); } return 0;}上記のコードをコンパイルして実行すると、次の結果が生成されます:
0112358132134
関連動画
ホットAIツール
脱衣画像を無料で
写真から衣服を削除するオンライン AI ツール。
リアルなヌード写真を作成する AI 搭載アプリ
AIを活用した投資調査により賢明な意思決定を実現
人気の記事
ホットトピック
20518
7
13631
4
11966
4
8985
17
人気のツール
使いやすく無料のコードエディター
中国語版、とても使いやすい
強力な PHP 統合開発環境
ビジュアル Web 開発ツール
神レベルのコード編集ソフト(SublimeText3)












![PHP 実践開発入門: PHP クイック作成 [中小企業フォーラム]](https://img.php.cn/upload/course/000/000/035/5d27fb58823dc974.jpg)
