0
0
C++programming~20 mins

Ternary operator in C++ - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Ternary Operator Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of nested ternary operator
What is the output of this C++ code snippet?
C++
int x = 5, y = 10;
int result = (x > y) ? (x - y) : ((x == y) ? 0 : (y - x));
std::cout << result << std::endl;
A0
B-5
C5
D10
Attempts:
2 left
💡 Hint
Remember the ternary operator evaluates conditions from left to right.
Predict Output
intermediate
2:00remaining
Ternary operator with side effects
What will be printed by this C++ code?
C++
int a = 3, b = 4;
int c = (a > b) ? (a += 2) : (b += 3);
std::cout << a << " " << b << " " << c << std::endl;
A3 7 7
B5 4 5
C5 7 7
D3 4 3
Attempts:
2 left
💡 Hint
Check which condition is true and which variable is updated.
🧠 Conceptual
advanced
2:00remaining
Understanding ternary operator associativity
Consider the expression: int x = 1 ? 0 : 1 ? 2 : 3; What is the value of x after this statement?
A2
B0
C3
D1
Attempts:
2 left
💡 Hint
Ternary operators associate from right to left.
Predict Output
advanced
2:00remaining
Ternary operator with different types
What is the output of this code snippet?
C++
auto val = true ? 3.5 : 2;
std::cout << typeid(val).name() << " " << val << std::endl;
Ad 3.5
Bi 2
Cf 3.5
Di 3
Attempts:
2 left
💡 Hint
Check the type deduced by the ternary operator when operands have different types.
🔧 Debug
expert
2:00remaining
Identify the error in ternary operator usage
Which option will cause a compilation error in this code snippet?
C++
int a = 5, b = 10;
int result = (a > b) ? a : "10";
std::cout << result << std::endl;
Aint result = (a > b) ? a : static_cast<int>(10);
Bint result = (a > b) ? a : (int)10;
Cint result = (a > b) ? a : 10;
Dint result = (a > b) ? a : "10";
Attempts:
2 left
💡 Hint
Check the types of the values returned by the ternary operator.