Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!rutgers!mit-eddie!uw-beaver!uw-entropy!quick!happym!polari!6sigma From: 6sigma@polari.UUCP (Brian Matthews) Newsgroups: comp.lang.c Subject: Re: This one bit me today Message-ID: <1071@polari.UUCP> Date: 10 Oct 89 22:07:28 GMT References: <2432@hub.UUCP> <832@crdos1.crd.ge.COM> <1067@polari.UUCP> <1243@virtech.UUCP> Reply-To: 6sigma@.UUCP (Brian Matthews) Organization: PolarServ, Seattle WA Lines: 11 In article <1243@virtech.UUCP> cpcahil@virtech.UUCP (Conor P. Cahill) writes: |In article <1067@polari.UUCP>, 6sigma@polari.UUCP (Brian Matthews) writes: |> That's why anyone who knows what they're doing will parenthesize each |> argument in the expansion of the macro and use liberal whitespace, thusly: |> #define xavg(m) (sum + 3) / (m) | |And they will also parenthesize the entire expression: | |#define xavg(m) ((sum + 3) / (m)) Arrgh. Absolutely. Sorry for being stupid in public...