Skip to content
Related Articles

Related Articles

Save Article
Improve Article
Save Article
Like Article

Conditional or Ternary Operator (?:) in C/C++

  • Difficulty Level : Easy
  • Last Updated : 29 Oct, 2020

The conditional operator is kind of similar to the if-else statement as it does follow the same algorithm as of if-else statement but the conditional operator takes less space and helps to write the if-else statements in the shortest way possible.

Take a step-up from those "Hello World" programs. Learn to implement data structures like Heap, Stacks, Linked List and many more! Check out our Data Structures in C course to start learning today.

Syntax: 
The conditional operator is of the form  

variable = Expression1 ? Expression2 : Expression3

It can be visualized into if-else statement as:  



if(Expression1)
{
    variable = Expression2;
}
else
{
    variable = Expression3;
}

Since the Conditional Operator ‘?:’ takes three operands to work, hence they are also called ternary operators.
Working: 
Here, Expression1 is the condition to be evaluated. If the condition(Expression1) is True then Expression2 will be executed and the result will be returned. Otherwise, if the condition(Expression1) is false then Expression3 will be executed and the result will be returned.

Example: Program to Store the greatest of the two Number. 

C




// C program to find largest among two
// numbers using ternary operator
 
#include <stdio.h>
 
int main()
{
    int m = 5, n = 4;
 
    (m > n) ? printf("m is greater than n that is %d > %d",
                     m, n)
            : printf("n is greater than m that is %d > %d",
                     n, m);
 
    return 0;
}

C++




// C++ program to find largest among two
// numbers using ternary operator
 
#include <iostream>
using namespace std;
 
int main()
{
    // variable declaration
    int n1 = 5, n2 = 10, max;
 
    // Largest among n1 and n2
    max = (n1 > n2) ? n1 : n2;
 
    // Print the largest number
    cout << "Largest number between " << n1
                           << " and " << n2
                           << " is " << max;
 
    return 0;
}
Output
m is greater than n that is 5 > 4




My Personal Notes arrow_drop_up
Recommended Articles
Page :