Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

プログラムを使用してC言語で再帰関数を説明する


再帰関数 それ自体の観点から何かを定義するプロセスです。これは、関数の本体で再び自分自身を呼び出す関数です。

1からNまでのすべての整数の積である整数「N」の階乗を計算する関数ファクト()。

fact()が引数1(または)0で呼び出されると、関数は1を返します。それ以外の場合は、n * fact(n-1)の積を返します。これは、「n」が1に等しくなるまで発生します。

Fact (5) =5* fact (4)
   =5*4*3* fact (3)
   =5*4*3*2* fact (2)
   =5*4*3*2*1 fact (1)
   =5*4*3*2*1
   = 120.

以下は再帰関数のCプログラムです-

#include<stdio.h>
int main ( ){
   int n,f;
   int fact (int);
   printf ("enter a number");
   scanf ("%d", &n);
   f= fact (n);
   printf ("factorial value = %d",f);
}
int fact (int n){
   int f;
   if ( ( n==1) || (n==0))
      return 1;
   else f= n*fact (n-1);
      return f;
}

出力

上記のプログラムを実行すると、次の結果が得られます-

Enter a number 5
Factorial value = 120

  1. C言語のループ制御ステートメントとは何ですか?フローチャートとプログラムで説明する

    ループ制御ステートメントは、一連のステートメントを繰り返すために使用されます。それらは次のとおりです- forループ whileループ do-whileループ forループ 構文は次のとおりです- for (initialization ; condition ; increment / decrement){    body of the loop } フローチャート ループのフローチャートは次のとおりです- 初期化は通常、ループ制御変数を設定するために使用される割り当てステートメントです。 条件は、ループがいつ終了するかを決定する関係式です。

  2. ユニオンにC言語でのポインタを説明する

    ユニオンはメモリロケーションと呼ばれ、さまざまなデータ型のいくつかの変数によって共有されます。 構文 構文は次のとおりです- union uniontag{    datatype member 1;    datatype member 2;    ----    ----    datatype member n; }; たとえば、 union sample{    int a;    float b;    char c; }