Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!wuarchive!gem.mps.ohio-state.edu!rpi!crdgw1!crdos1!davidsen From: davidsen@crdos1.crd.ge.COM (Wm E Davidsen Jr) Newsgroups: comp.lang.c Subject: Re: C history question Keywords: C design, XOR Message-ID: <596@crdos1.crd.ge.COM> Date: 28 Sep 89 14:31:11 GMT References: <10390@phoenix.Princeton.EDU> <29557@news.Think.COM> <883@friar-taac.UUCP> Reply-To: davidsen@crdos1.UUCP (bill davidsen) Organization: GE Corp R&D Center Lines: 22 In article <29557@news.Think.COM> barmar@think.COM (Barry Margolin) writes: | | allok = allok && a[i++] > b[j++] | |then the side effects on i and j would be different from | | allok &= a[i++] > b[j++] | |The first must NOT increment i and j when allok is true, while the |second MUST increment them in any case. What are you saying here? The & and && operators work diferently. I also think the *effect* of thew first example would be easier to understand if you wrote: if (!allok) allok = a[i++] > b[j++] but that's a matter of preference. Yes I know, some people like (allok == 0) better. -- bill davidsen (davidsen@crdos1.crd.GE.COM -or- uunet!crdgw1!crdos1!davidsen) "The world is filled with fools. They blindly follow their so-called 'reason' in the face of the church and common sense. Any fool can see that the world is flat!" - anon