if (++k < 5 && k++/5 || ++k <= 8); is same as if ((((++k < 5) && (k++/5)) || (++k <= 8)));
(++k < 5) && (k++/5) in this expression ++k<5 returns false(0) ,so there is no need to evaluate right hand side(why?) 2012/11/6 Anil Sharma <anilsharmau...@gmail.com> > main() > { > int k = 5; > if (++k < 5 && k++/5 || ++k <= 8); > printf("%d ", k); > } > > the output shud be 8 but it comes out to be 7.why??? > as increment operator has higher precedence among them so increment shud > be done throughout at first and after then other operators shud be > evaluated.so output shud be 8. > > -- > You received this message because you are subscribed to the Google Groups > "Algorithm Geeks" group. > To post to this group, send email to algogeeks@googlegroups.com. > To unsubscribe from this group, send email to > algogeeks+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/algogeeks?hl=en. > -- *Anil Arya, Computer Science * *Motilal Nehru National Institute of Technology,Allahabad . * -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.