expression sequencing bugs

C90630JG%WUVMD.BITNET at wiscvm.ARPA C90630JG%WUVMD.BITNET at wiscvm.ARPA
Sat Sep 27 15:53:24 AEST 1986


In article <760 at oakhill.UUCP> tomc at oakhill.UUCP (Tom Cunningham) writes:
>    /* a = b + b + b */
>    a = ((b=1),b) + ((b=2),b) + ((b=3),b)
>
>I expected the result to be 6.  With the Microsoft C compiler and the
>compiler on the Sun 3, the result is 9.  Apparently the parenthetical
>assignments are all getting done before the comma and addition.  Any
>thoughts on this?
>
Tom, I agree, the result should be 6, as defined by K&R, but I have tried
it on ......................
I would like everyone to test it on as many machines as prossible, to
see if we can find as least ONE other besides Small-C, that works.

Mike Stump  ucbvax!hplabs!csun!csunb!beusemrs

I would like to report that the Computer Innovations C86 C complier
on the IBM-PC produces the correct answer.

Jonathen Goldberg
c90630jg at wuvmd.bitnet



More information about the Comp.lang.c mailing list