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 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.