私はCプログラミング言語に不慣れで、与えられた数の階乗を計算するための再帰を学ぼうとしています。私の質問は、「5」を入力するとデバッグprintf
ステートメントが出力されることです。2,6,24,120
関数呼び出しが対応する値に置き換えられ、一度に階乗を計算する場合、どのように4回出力しますか?
#include<stdio.h>
#include<stdlib.h>
int factorial(int n);
int main()
{
int num;
int fact_val;
printf("Enter the number for which you are going to compute the factorial:");
scanf("%d",&num);
fact_val=factorial(num);
printf("The factorial of the given number is %d\n",fact_val);
return 0;
}
int factorial(int n)
{
int factorial_val;
if(n==1)
return 1;
else
{
factorial_val=factorial(n-1)*n;
printf("Debugger-%d\n",factorial_val);
}
return factorial_val;
}