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.

Reply via email to