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:
#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 ifnis 1 or 0. If true, it returns 1; otherwise, it recursively calls itself with the argumentn - 1multiplied 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:
numfor user input andresultto store the factorial. - The user is prompted to enter a number, which is then stored in the variable
num. - The
factorialfunction is called withnumas an argument, and the result is stored in theresultvariable. - 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.