From owner-freebsd-hackers Fri May 30 10:20:25 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id KAA26748 for hackers-outgoing; Fri, 30 May 1997 10:20:25 -0700 (PDT) Received: from FNAL.FNAL.Gov (SYSTEM@fnal.fnal.gov [131.225.110.17]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id KAA26742 for ; Fri, 30 May 1997 10:20:21 -0700 (PDT) Received: from aduxb.fnal.gov ("port 38172"@aduxb.fnal.gov) by FNAL.FNAL.GOV (PMDF V5.0-5 #3998) id <01IJHB279VD0000GI4@FNAL.FNAL.GOV>; Fri, 30 May 1997 12:20:19 -0600 Received: from localhost by aduxb.fnal.gov (5.x/SMI-SVR4) id AA21679; Fri, 30 May 1997 12:20:11 -0500 Date: Fri, 30 May 1997 12:20:10 -0500 (CDT) From: Richard Neswold Subject: Re: cc/gcc In-reply-to: <199705301200.IAA11334@lakes.water.net> To: Thomas David Rivers Cc: FreeBSD-Hackers Reply-to: neswold@FNAL.GOV Message-id: MIME-version: 1.0 Content-type: TEXT/PLAIN; charset=US-ASCII Content-transfer-encoding: 7BIT Sender: owner-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk On Fri, 30 May 1997, Thomas David Rivers wrote: > I believe '?' has a higher precedence than '=='; so you are really > saying: Nope. "==" has higher precedence than "?:". Furthermore, '==' is left-to-right associative. > > a = 1; b = 1; c = 0; > > c = a == b == 1 ? 1 : 0 ; printf(" %i\n", c); Using parenthesis to indicate the precedence: c = (((a == b) == 1) ? 1 : 0); (( 1 == 1) ? 1 : 0); ( 1 ? 1 : 0); 1; > > a='1'; b='1'; c = 0; > > c = a == b == '1' ? '1' : '0'; printf(" %c\n", c); c = (((a == b) == '1') ? '1' : '0'); (( 1 == '1') ? '1' : '0'); ( 0 ? '1' : '0'); '0'; Rich ------------------------------------------------------------------------ Richard Neswold, Accelerator Div./Controls Dept | neswold@fnal.gov Fermilab, PO Box 500, MS 347, Batavia, IL 60510 | voice (630) 840-3454 'finger neswold@aduxb.fnal.gov' for PGP key | fax (630) 840-3093