Path: utzoo!attcan!uunet!ginosko!gem.mps.ohio-state.edu!apple!bionet!ames!think!kulla!barmar From: barmar@kulla (Barry Margolin) Newsgroups: comp.lang.c Subject: Re: C history question Keywords: C design, XOR Message-ID: <30239@news.Think.COM> Date: 27 Sep 89 23:16:29 GMT References: <10390@phoenix.Princeton.EDU> <29557@news.Think.COM> <883@friar-taac.UUCP> Sender: news@Think.COM Reply-To: barmar@kulla.UUCP (Barry Margolin) Organization: Thinking Machines Corporation, Cambridge MA, USA Lines: 19 In article <883@friar-taac.UUCP> matthew@friar-taac.UUCP (Matthew Stier - Sun Visualization Products) writes: >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. >Would you like to reword your last sentence? I'll try. I see I got the first clause backward, as well as using confusing wording. In the first case, i and j are incremented IF AND ONLY IF allok was true. In the second case, i and j must ALWAYS be incremented, regardless of the old value of allok. Barry Margolin, Thinking Machines Corp. barmar@think.com {uunet,harvard}!think!barmar