Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #20858

Re: A question for this group...

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>

Show all headers | View raw


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


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