# Ternary or Conditional Operator

Simple decision making statements in C programming can be carried out by using **ternary operator (?:)**. The ternary operator is also known as ** conditional operator** since it takes three operands.

The general syntax for conditional operator is:

Condition? True_Expression : False_Expresion;

## Working of Ternary or Conditional Operator

In conditional operator, first Condition is evaluated to either TRUE or FALSE. If the result of Condition is TRUE then True_Expression is executed. If the result of Condition is FALSE then False_Expression is executed. Therefore, result of conditional operator is the result of whichever expression is evaluated – the True_Expression or False_Expression. Only one of the expression is evaluated in a conditional operator and never both. Following flowchart illustrates the operation of conditional operator.

## Conditional or Ternary Operator Example

### Example #1 : Implementing Simple Mathematical Equation Using Conditional or Ternary Operator

```
#include< stdio.h >
#include< conio.h >
void main()
{
float x,y;
clrscr();
printf("Enter x: ");
scanf("%f", &x);
y = x < 0 ? x*x+4 : x*x-4;
printf("f(%f) = %f", x, y);
getch();
}
```

**Output**

Run 1: Enter x: 1.2 ↲ f(1.2) = -2.56 Run 2: Enter x: -0.5 ↲ f(-0.5) = 4.25 Note: ↲ indicates enter is pressed.

### Program Explanation (Conditional or Ternary Operator)

In the above program when user enters value of x = 1.2 then condition x < 0 evaluates to FALSE. When condition evaluates to FALSE then False_Expression i.e. x*x-4 is evaluated to -2.56 and this value is assigned to y and so while printing value of y we get -2.56 in result.

Similarly, when user enters value of x = -0.5 then condition x < 0 evaluates to TRUE. When condition evaluates to TRUE then True_Expression i.e. x*x+4 is evaluated to 4.25 and this value is assigned to y and so while printing value of y we get 4.25 in result.