Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Martin Shobe <martin.shobe@yahoo.com> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: A question for this group... |
| Date | 2012-05-16 14:49 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <jp0epl$qao$1@dont-email.me> (permalink) |
| References | <jou4fd$5uh$1@news.xmission.com> <15497347.287.1337165607109.JavaMail.geo-discussion-forums@vbk4> <jp0cc7$osc$1@news.xmission.com> |
Kenny McCormack wrote:
> In article <15497347.287.1337165607109.JavaMail.geo-discussion-forums@vbk4>,
> <nick_keighley_nospam@hotmail.com> wrote:
> ...
>>For instance *I'd* expect a straitforward implementation to produce "7 6
>>6". But I see I was wrong. How do you explain the output observed?
>>Visual C++ produces this output.
>
> The underlying point is that I think it *is* interesting to ask and to
> answer why the OP gets the output that he gets. I also get that result
> (using gcc on a Linux system) and, TBH, I can't explain it. Now, I know the
> dogmatic position is that it doesn't matter what output you get, it doesn't
> matter why you get the output you get, and it is a waste of time to even
> think about thinking about why you get the output you get. Well, the fact
> is that this whole newsgroup is a splendid waste of time. We're all wasting
> time posting here - but we do it because it is fun. Quite seriously, I
> can't see how anyone could disagree with that assessment.
>
> Further, to use my light socket analogy, I think everyone knows you
> shouldn't stick your finger in it (except, apparently, your friend...), but
> I seriously believe that most people - even well educated people - do not
> really know *why* - do not really understand how electricity works.
> Therefore, I think the "why" question is much more interesting than the
> stock "Don't do that!" response.
>
> Now, I took this code and ran it two different versions of AWK - and got
> expected results. GAWK gives:
>
> % gawk 'BEGIN {a=5;print a++,a++,++a}'
> 5 6 8
>
> which is easily explainable as left-to-right evaluation.
>
> TAWK gives 7 6 6, which is also easily explainable as right-to-left evaluation.
> I would expect C (at least without its doing any optimization) to give the
> same, since C usually uses "cdecl", which is right-to-left (of course, yes,
> Keith, I understand, none of this is mandated by the C standards).
>
> But the C results defy logic (at least to me), and I'd be interested to find
> out why this happens. Yes, Keith, we understand, it is all a waste of time,
> but as noted above, we're here because the time is there to be wasted.
While I can't say exactly what happened, the following would be a
reasonable compilation of the above into x86 assembly code, and would
result in that particular output.
Assembly eax ebx ecx Note
-----------------------------------------
mov eax, a 5 ? ? right
inc eax 6 ? ? right side effect
mov ebx, eax 6 6 ? middle
inc eax 7 6 ? middle side effect
mov ecx, ebx 7 6 7 left
inc eax 8 6 7 left side effect
push ecx right
push ebx middle
push eax left
Martin Shobe
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
A question for this group... gazelle@shell.xmission.com (Kenny McCormack) - 2012-05-15 17:41 +0000
Re: A question for this group... "Chine Bleu, Russie Blanche, et Khmer Rouge" <chine.bleu@yahoo.com> - 2012-05-15 10:44 -0700
Re: A question for this group... James Kuyper <jameskuyper@verizon.net> - 2012-05-15 14:06 -0400
Re: A question for this group... William Ahern <william@wilbur.25thandClement.com> - 2012-05-15 13:24 -0700
Re: A question for this group... Quentin Pope <qp19433@hotmail.NOSPAM.com> - 2012-05-15 20:56 +0000
Re: A question for this group... nick_keighley_nospam@hotmail.com - 2012-05-16 03:41 -0700
Re: A question for this group... Old Wolf <oldwolf@inspire.net.nz> - 2012-05-16 02:31 -0700
Re: A question for this group... nick_keighley_nospam@hotmail.com - 2012-05-16 03:53 -0700
Re: A question for this group... gazelle@shell.xmission.com (Kenny McCormack) - 2012-05-16 14:08 +0000
Re: A question for this group... Martin Shobe <martin.shobe@yahoo.com> - 2012-05-16 14:49 +0000
Re: A question for this group... Martin Shobe <martin.shobe@yahoo.com> - 2012-05-16 14:59 +0000
Re: A question for this group... Kaz Kylheku <kaz@kylheku.com> - 2012-05-16 16:05 +0000
Re: A question for this group... Old Wolf <oldwolf@inspire.net.nz> - 2012-05-16 14:29 -0700
Re: A question for this group... Stephen Sprunk <stephen@sprunk.org> - 2012-05-16 18:18 -0500
Re: A question for this group... Robert Miles <milesrf@Usenet-News.net> - 2012-06-23 23:22 -0500
Re: A question for this group... Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-06-25 02:41 -0700
Re: A question for this group... gazelle@shell.xmission.com (Kenny McCormack) - 2012-06-25 16:29 +0000
Re: A question for this group... nick_keighley_nospam@hotmail.com - 2012-06-26 08:27 -0700
Re: A question for this group... gazelle@shell.xmission.com (Kenny McCormack) - 2012-06-27 09:05 +0000
Re: A question for this group... nick_keighley_nospam@hotmail.com - 2012-06-27 03:57 -0700
Re: A question for this group... Neil Cerutti <neilc@norwich.edu> - 2012-06-27 13:49 +0000
Re: A question for this group... "io_x" <a@b.c.invalid> - 2012-06-28 09:19 +0200
Re: A question for this group... nick_keighley_nospam@hotmail.com - 2012-06-28 01:59 -0700
Re: A question for this group... Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-06-28 04:18 -0700
Re: A question for this group... Heikki Kallasjoki <fis+usenet@zem.fi> - 2012-06-28 12:14 +0000
Re: A question for this group... James Kuyper <jameskuyper@verizon.net> - 2012-06-28 08:28 -0400
Re: A question for this group... James Kuyper <jameskuyper@verizon.net> - 2012-06-28 08:33 -0400
Re: A question for this group... Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-06-28 13:07 -0700
Re: A question for this group... David Thompson <dave.thompson2@verizon.net> - 2012-07-19 02:40 -0400
Re: A question for this group... "io_x" <a@b.c.invalid> - 2012-06-28 18:58 +0200
Re: A question for this group... Andrew Cooper <amc96@cam.ac.uk> - 2012-06-29 01:11 +0100
Re: A question for this group... Philip Lantz <prl@canterey.us> - 2012-07-05 00:21 -0700
Re: A question for this group... nick_keighley_nospam@hotmail.com - 2012-07-06 00:24 -0700
Re: A question for this group... Tim Rentsch <txr@alumni.caltech.edu> - 2012-07-06 17:43 -0700
csiph-web