Sorry this should be:
--- Rodel Viado <[EMAIL PROTECTED]> wrote: > there is no optimization done here the reason the > answer is 7 is this: > > i = i++ + ++i + i++ + ++i > > > Step 1 0 0 > Step 2 1 1 > Step 3 2 2 > Step 4 3 4 > > ^ > intermediate > vslues of i > > Final value of i is 0 + 1 + 2 + 4 = 7 > > > > --- Pablo Manalastas <[EMAIL PROTECTED]> wrote: > > Quoting Abigail Manalastas > > <[EMAIL PROTECTED]>: > > > > > Dear Daddy, > > > How come the value of i is 5 in the following > > statements? > > > i = 0; > > > i = i++ + ++i + i++ + ++i; > > > > I tried compiling with gcc and running under Linux > > and > > I got 7, not 5. I tried figuring out the meaning, > > and I get 8. > > Here is my own understanding of the meaning of the > > above: > > Line 3 is the value that is actually added in the > > computation of i. > > Line 4 is the current value of i at that time, > just > > after > > the indicated pre-increment or post-increment. > > > > 1. i = 0 > > 2. i = 1++ + ++i + i++ + ++i; > > 3. 0 + 2 + 2 + 4 > > 4. 1 2 3 4 > > > > And so the value obtained after addition in line 3 > > is 8. > > > > To verify, I rewrote the program a bit as follows: > > > > i = 0; > > a = i++; > > b = ++i; > > c = i++; > > d = ++i; > > i = a+b+c+d; > > > > And I got 8 as the value of i. > > > > I guess the reason why gcc gives 7 in the original > > problem is that > > gcc does automatic optimizations. How 7 was > > obtained is beyond me. > > > > I'm sorry if I confused you more than enlightened. > > > > P~Manalastas > > > > > > -- > > Philippine Linux Users' Group (PLUG) Mailing List > > [EMAIL PROTECTED] (#PLUG @ irc.free.net.ph) > > Official Website: http://plug.linux.org.ph > > Searchable Archives: http://marc.free.net.ph > > . > > To leave, go to > > http://lists.q-linux.com/mailman/listinfo/plug > > . > > Are you a Linux newbie? To join the newbie list, > go > > to > > > http://lists.q-linux.com/mailman/listinfo/ph-linux-newbie > > > __________________________________ > Do you Yahoo!? > Yahoo! Calendar - Free online calendar with sync to > Outlook(TM). > http://calendar.yahoo.com > __________________________________ Do you Yahoo!? Yahoo! Calendar - Free online calendar with sync to Outlook(TM). http://calendar.yahoo.com -- Philippine Linux Users' Group (PLUG) Mailing List [EMAIL PROTECTED] (#PLUG @ irc.free.net.ph) Official Website: http://plug.linux.org.ph Searchable Archives: http://marc.free.net.ph . To leave, go to http://lists.q-linux.com/mailman/listinfo/plug . Are you a Linux newbie? To join the newbie list, go to http://lists.q-linux.com/mailman/listinfo/ph-linux-newbie
