# evaluation of expression

Naresh Gunda
Ranch Hand
Posts: 163
Hi,
How to evaluate the following expression

Can any one of u tell me, which operators are left associative and which operators are right associative?

Abhishek Sharma
Ranch Hand
Posts: 68
Hi there,
After the execution of this expression b1 will have value
FALSE as this expression consists of subexpressions, and therefore
first of all subexpressions will be evaluated
in given question
boolean b1 = false?false:true?false:true?false:true;
it will break to
boolean b1 = (false?false true?false true?false:true)));
and result is accordingly...........

Prashanth Raghavan
Greenhorn
Posts: 6
It ultimately boils down from the rightmost to the left. The subexpressions get executed and the results assigned and this continues in a chain from right to left.

Narender Kumar
Greenhorn
Posts: 11
I think this is one of those
"think-like-a-compiler" kinda question.

lets see how we can evaluate this expression.
move from left to right as per associativity rules.

step 1: input--> false?false:true?false:true?false:true;
output--> false?false true?false:true?false:true);

step 2: input--> false?false true?false:true?false:true);
output--> false?false true?false true?false:true));

step 3: input--> false?false true?false true?false:true));
output--> false?false true?false true?false true)));

brackets shud clear your doubt a little bit....
does it??

-Narender

Narender Kumar
Greenhorn
Posts: 11
oh nooooooooo....
i didnt not put soooo many sad emoticons in my message.

Narender Kumar
Greenhorn
Posts: 11
i am not gonna give up this easy.

step 1: input--> false?false:true?false:true?false:true;
output--> false?false: (true?false:true?false:true);

step 2: input--> false?false: (true?false:true?false:true);
output--> false?false: (true?false: (true?false:true));

step 3: input--> false?false: (true?false: (true?false:true));
output--> false?false: (true?false: (true?false true)));