comparsion

Ambitious contributor
19Jan2008,10:30   #1
answerme's Avatar
main()
{
int x=10 ,y=20,z=5 ,i;
i=x<y<z;
printf("%d",i);
}

output :1
why the output is 1 ,how x ,y ,z are gettting compared
Go4Expert Founder
19Jan2008,10:52   #2
shabbir's Avatar
Just put a brackets and see how its getting evaluated.

Check the output for both the cases below
i=(x<y)<z;
i=x<(y<z);
TechCake
21Jan2008,10:58   #3
asadullah.ansari's Avatar
i=x<y<z
=> i= 10<20<z
=> i= true(1) < 5
=> i= true(1)
=> i=1
This is true If Compiler evaluates from Left to Right if same perority operator are there.