Recursion refers to the function calling itself directly or in a cycle.

Before we begin, you should have the knowledge of following in **C Programming**:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include <stdio.h> int factorial(int n) { // using ternary operator with recursion return (n == 1 || n == 0) ? 1 : n* factorial(n - 1); } int main() { int num, result; //taking Inputs printf("Enter the number to find factorial: "); scanf("%d", &num); //function call and display the result result = factorial(num); printf("Factorial of %d is: %d\n", num, result); getch(); return 0; } |

This C program calculates the factorial of a given number using recursion and the ternary operator. Here’s a brief explanation:

**Function Definition:**`factorial(int n)`

- This function calculates the factorial of a number
`n`

. - It uses a ternary operator (
`? :`

) to check if`n`

is 1 or 0. If true, it returns 1; otherwise, it recursively calls itself with the argument`n - 1`

multiplied by`n`

.

- This function calculates the factorial of a number
**Main Function:**`main()`

- The main function begins the execution of the program.
- It declares two variables:
`num`

for user input and`result`

to store the factorial. - The user is prompted to enter a number, which is then stored in the variable
`num`

. - The
`factorial`

function is called with`num`

as an argument, and the result is stored in the`result`

variable. - The program prints the factorial result.

**Usage of**`getch()`

:- The
`getch()`

function is used to hold the console window open until a key is pressed. Note that this function is not standard and may not be available on all systems.

- The
**Output:**- The program outputs the calculated factorial for the given input.

**Termination:**- The program returns 0, indicating successful execution.