# C 程序：使用递归查找数字的阶乘

> 原文： [https://beginnersbook.com/2014/06/c-program-to-find-factorial-of-number-using-recursion/](https://beginnersbook.com/2014/06/c-program-to-find-factorial-of-number-using-recursion/)

该程序提示用户输入任何整数，查找输入数的阶乘，并在屏幕上显示输出。我们将使用用户定义的递归函数来执行任务。这里我们有一个函数`find_factorial`，它以递归的方式调用自己，来找出输入数的阶乘。我们在下面的程序中涉及用户交互，但是如果你不想要那个部分，那么你可以简单地为变量`num`赋一个整数值并忽略`scanf`语句。简而言之，您可以以任何您想要的方式调整它，每种情况的逻辑都是相同的。

### 查找阶乘的程序

```c
 /* Program Name: Find Factorial
   Written by: Chaitanya Singh
   Published on: beginnersbook.com
 */
#include<stdio.h>
int find_factorial(int);
int main()
{
   int num, fact;
   //Ask user for the input and store it in num
   printf("\nEnter any integer number:");
   scanf("%d",&num);

   //Calling our user defined function
   fact =find_factorial(num);

   //Displaying factorial of input number
   printf("\nfactorial of %d is: %d",num, fact);
   return 0;
}
int find_factorial(int n)
{
   //Factorial of 0 is 1 
   if(n==0)
      return(1);

   //Function calling itself: recursion
   return(n*find_factorial(n-1));
}
```

**输出：**

```c
Enter any integer number: 4
factorial of 4 is: 24
```