Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!zaphod.mps.ohio-state.edu!uakari.primate.wisc.edu!crdgw1!camelback!volpe From: volpe@camelback.crd.ge.com (Christopher R Volpe) Newsgroups: comp.std.c Subject: Re: Function Argument Evaluation Message-ID: <17809@crdgw1.crd.ge.com> Date: 22 Mar 91 14:11:29 GMT References: <7621@polstra.UUCP> <17750@crdgw1.crd.ge.com> <15538@smoke.brl.mil> Sender: news@crdgw1.crd.ge.com Reply-To: volpe@camelback.crd.ge.com (Christopher R Volpe) Lines: 21 In article <15538@smoke.brl.mil>, gwyn@smoke.brl.mil (Doug Gwyn) writes: |>In article <17750@crdgw1.crd.ge.com> volpe@camelback.crd.ge.com (Christopher R Volpe) writes: |>>So, the output has to be "100 200". |> |>Wrong. "200 200" is a possible output from a conforming implementation. |>I thought the cited section of the standard was unusually clear about this. Ok, but I believe that is true only because the behavior is undefined (a fact which I missed until I saw Colin's post), right? I mean, the only reason "200 200" is a possible output in this case is because "Happy new year!" is also a possible output, not because of the original author's reasoning about the value of 'p' at the time of the call. I think that's an important distinction, no? Is there a distinction? Is it not true that the value of 'p' is irrelevant when the actual argument is the assignment expression 'p = &x'? Or am I completely out in left field? ================== Chris Volpe G.E. Corporate R&D volpecr@crd.ge.com