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