# What does '?' do in C/C++?

C++ProgrammingServer Side Programming

The operator ‘?’ is known as ternary operator as it requires three operands to act upon. It can be represented by “ ? : ”. It is also known as conditional operator. The operator improves the performance and reduces the lines of code.

Here is the syntax of ternary operator in C language,

Expression1 ? Expression2 : Expression3

Here is an example of Ternary Operator in C language,

## Example

Live Demo

#include <stdio.h>

int main() {
int a = -1;
double b = 26.4231;
int c = a? printf("True value : %lf",b):printf("False value : 0");
return 0;
}

## Output

Here is the output

True value : 26.423100

Expression1 will evaluate always while expression2 & expression3 are dependent on the outcome of expression1. If the outcome of expression1 is non-zero or negative, expression2 will display, otherwise expression3 will display.

The ternary operator has a return type. The return type depends on expression2 and also on the convertibility of expression3 to expression2. If they are not convertible, the compiler will throw an error.

Here is another example of ternary operator in C language,

## Example

Live Demo

#include <stdio.h>
int main() {
int x = -1, y = 3;
double b = x+y+0.5;
int c = x<y? printf("True value : %lf",b):printf("False value : 0");
return 0;
}

## Output

Here is the output

True value : 2.500000
Published on 24-Oct-2018 10:24:26