C Program to Find the Largest Among Three Numbers using Conditional/Ternary Operator

In this article, we will learn how we can find the largest among three numbers using the conditional/ternary operator in C programming.

The program will take three integer inputs from the user and will print the maximum among them.

Sample Input:

Enter three numbers: 10 20 30

Expected Output:

Largest among the three numbers is 30

Before diving into the detailed explanation of the program, let’s first have a look at the ternary operator in C language.

The ternary or the conditional operator takes three operands, condition, expression1 and expression2:

condition ? expression1 : expression2; 

If the condition evaluates to true, the first expression(expression1) executes. Otherwise, the second expression i.e. expression2 executes.

You can also store the result of the ternary operator in any variable using the assignment(=) operator. For example,

variableName = condition ? expression1 : expression2; 

The variable variableName will store the value of the expression1 if the condition evaluates to true, otherwise, it will store the value of the expression2.

One of the interesting features of the ternary operator is that you can make the ternary operator nested. We will use this concept in our program.

This is how a typical nested ternary operator looks like in C:

condition ? (condition2 ? exp1 : exp2) : (condition3 ? exp1 : exp2);

To find the largest among the three numbers using the ternary operator, you can follow the below steps:

  • Declare three integer variables a, b & c and use the scanf() function to get their values from the user. Also declare an integer variable max, which will hold the maximum of the three numbers.
  • Write a ternary operator with the condition a > b. If the value of a is greater than b, then the first expression of the ternary operator will be executed.
  • Inside the first expression, we have to check if a is also greater than c, if yes, then a is the largest among the three. If not, either b or c is the largest.
  • Inside the second expression, we have to check if b is also greater than c, if yes, then it is the largest among the three, if not, then c is the largest.
  • Store the result of the ternary operator in the max variable and print the result using the printf() function.

The following example shows how you can use the ternary operator to find the largest among the three numbers in C:

// C program to find the maximum of the three numbers 
// using the Conditional/ternary operator

#include <stdio.h>

int main(){
    
    // Declare the variables
    int a, b, c, max;
    
    // Get the three numbers from user
    printf("Enter three numbers: ");
    scanf("%d %d %d", &a, &b, &c);
    
    // Checks if a > b, if yes, exp1 executes, if not, exp2 executes
    max = a > b ? ( a > c ? a : c) : ( b > c ? b : c);
    
    // Print the result
    printf("Largest among the three numbers is %d", max);
	
    return 0;
}

Output:

Enter three numbers: 10 20 30
Largest among the three numbers is 30

Thanks for reading.

Author

  • Manoj Kumar

    Hi, My name is Manoj Kumar. I am a full-stack developer with a passion for creating robust and efficient web applications. I have hands-on experience with a diverse set of technologies, including but not limited to HTML, CSS, JavaScript, TypeScript, Angular, Node.js, Express, React, and MongoDB.

    View all posts