Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!usc!samsung!uunet!sco!md From: md@sco.COM (Michael Davidson) Newsgroups: comp.lang.c Subject: Re: A define problem Keywords: define Message-ID: <9494@scolex.sco.COM> Date: 9 Jan 91 08:38:29 GMT References: <440@bally.Bally.COM> Sender: news@sco.COM Distribution: usa Organization: The Santa Cruz Operation, Inc. Lines: 13 In article <440@bally.Bally.COM> siva@bally.Bally.COM (Siva Chelliah) writes: >#define half(x) (x)/2 >main () >{ > int i=5; > printf( "i/2 = %d\n",half(i-5)); >} >This program prints 3 instead of 0 ! How can I make it print 0 ? Compile it with a C compiler perhaps?? If you compiled precisely this sample code and got 3 written to standard output instead of 0 then you have, at best, a broken C compiler.