Vidyalelo
C Programming · Q44

Operators and Expressions

Programming · C Programming · question 44

Q44

What is the output of the following statements? int b=15, c=5, d=8, e=8, a; a = b>c ? c>d ? 12 : d>e ? 13 : 14 : 15; printf("%d", a);

A.
13
B.
14
Answer
C.
15
D.
12
E.
Garbage Value

Answer: Option B

Solution

Answer: Option B
Solution:
Expression
a = b>c ? c>d ? 12 : d>e ? 13 : 14 : 15;
can be rewritten as
if(b>c)
{
   if(c>d)
      a = 12;
   else
   {
      if(d>e)
         a = 13;
      else
         a = 14;
   }
}
else
{
   a = 15;
}