I guess its other way. According you guys explanation after evaluating the expression first the if condition turns out to be if(1);
And the program runs infinitely.. first -- ++k <= 8 --- turns true and k becomes 6. second -- k++ / 5 --- skipped. k remains 6 third -- ++k < 5 --- turns false and k becomes 7. Hope its very clear On Wed, Nov 7, 2012 at 7:13 AM, apsalar <kavya...@gmail.com> wrote: > We start with k = 5. > > if ++k < 5 translates to if 6 < 5 => which is false. > No need to evaluate k++/5 (short-circuiting) > if ++k <= 8 translates to (6+1) 7 <= 8 which is true. > So, 7 gets printed. > > > On Tuesday, November 6, 2012 6:22:13 AM UTC-5, Anil Sharma wrote: >> >> 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 view this discussion on the web visit > https://groups.google.com/d/msg/algogeeks/-/KgsSjel6n_4J. > > 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. > -- *Thanks & Regards,* *Vishwa* *+91 9964051504* -- 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.