C program to find factorial of a number using Ternary operator with Recursion

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:

  1. 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.
  2. 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.
  3. 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.
  4. Output:
    • The program outputs the calculated factorial for the given input.
  5. Termination:
    • The program returns 0, indicating successful execution.