62 lines
2.0 KiB
Markdown
62 lines
2.0 KiB
Markdown
|
---
|
||
|
title: Conditional Operator
|
||
|
---
|
||
|
|
||
|
## Conditional Operator
|
||
|
|
||
|
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
|
||
|
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;
|
||
|
}
|
||
|
```
|
||
|
|
||
|
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*/
|
||
|
```
|
||
|
|
||
|
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/)**
|