Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!decwrl!sun!pitstop!sundc!seismo!uunet!auspex!guy From: guy@auspex.UUCP (Guy Harris) Newsgroups: comp.lang.c Subject: Re: Null revisited (briefly) Keywords: NULL Message-ID: <1107@auspex.UUCP> Date: 3 Mar 89 08:22:50 GMT References: <13068@steinmetz.ge.com> <102@servio.UUCP> <10138@socslgw.csl.sony.JUNET> <1783@dlvax2.datlog.co.uk> <1095@auspex.UUCP> <5984@bsu-cs.UUCP> Reply-To: guy@auspex.UUCP (Guy Harris) Organization: Auspex Systems, Santa Clara Lines: 21 >Isn't it possible to postulate the existence of a bizarre 1's >complement machine in which the lexical analyzer produces >binary 00000000000000000000000000000000 when it sees the >character 0, but 11111111111111111111111111111111 when it >sees the sequence '\0'? Yes, one could postulate that, but given that: 1) '\0' is ASCII NUL on ASCII implementations of C (K&R I, p. 181); 2) "it is guaranteed that a member of the standard character set is non-negative" (K&R I, p. 183); 3) the bit pattern you list is negative zero on a 1's complement machine; if the lexical analyzer is a lexical analyzer for a C implementation that uses ASCII as "the standard character set", or that uses any other character set in which '\0' is "a member of the standard character set", the technical term for that C implementation would be "buggy".