2018-10-04 14:47:55 +01:00
---
title: Conditional Operator
---
## Conditional Operator
2018-10-12 04:30:38 +05:30
Conditional operator is a ternary operator, that is it needs 3 operands.
It returns one of two values depending on the result of an expression
2018-10-04 14:47:55 +01:00
Conditional operator is used to replace a simple if-else statements.
Syntax :
```cpp
(condition)?(expression-1):(expression-2);
```
Here, expression-1 is evaluated when condition is true and expression-2 is evaluated when condtion is false.
Similar if-else statement would be :
```cpp
if(condition)
{
expression-1;
}
else
{
expression-2;
}
```
2018-12-21 05:33:09 -06:00
As an aside, if the expression under the conditional statement is only 1 line, curly braces are not necessary. However, it is recommended to use them to get in the habit.
2018-10-16 02:03:24 +05:30
The above code however can be used to check more than just two conditions in the following way/syntax:
```cpp
if(condition 1) /* Checks first condition, skips else-if and else
{ entirely if condition 1 checks out */
expression-1;
}
else if(condition 2) /*Checks condition 2, only and only if condition 1
{ is false, if condition 2 is true the comiler will
expression-2; skip the 'else' part and move on */
}
else /*Once if and else-if conditions don't satisfy the
{ compiler will run the expression in else{..}
expression-3; because it does not have a condition to check,
} part of code can also be skipped if not necessary*/
```
2018-10-04 14:47:55 +01:00
Hence conditional operator is very handy when you need to write simple if-else statement. It can also be used in #define
preprocessor when similar condition is to be used in multiple places.
For example, to find maximum of two number conditional operator can be used as follows :
```cpp
#define big(a,b) (a>=b)?a:b
int maximum,x=5,y=6; // variable to store maximum of two numbers
maximum=(x>y)?x:y; // directly using conditional operator
maximum=big(x,y); // using the #define preprocessor defined above as big
```
**Good Luck to all of you**
**Happy Coding ! :)**
**Feel free to ask any queries on FreeCodeCamp's GitHub page or [FreeCodeCamp's Forum .](https://forum.freecodecamp.org/)**