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 ifn
is 1 or 0. If true, it returns 1; otherwise, it recursively calls itself with the argumentn - 1
multiplied byn
.
- 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 andresult
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 withnum
as an argument, and the result is stored in theresult
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.