Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site alice.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!alice!ark From: ark@alice.UucP (Andrew Koenig) Newsgroups: net.lang.c Subject: Re: Cryptic C Message-ID: <4209@alice.UUCP> Date: Sun, 25-Aug-85 11:38:12 EDT Article-I.D.: alice.4209 Posted: Sun Aug 25 11:38:12 1985 Date-Received: Mon, 26-Aug-85 01:27:12 EDT References: <2083@ukma.UUCP> Organization: Bell Labs, Murray Hill Lines: 13 > I have always thought that to be a machine dependancy (the value of true and > false). Maybe I'm wrong. But, different machines DO have different ideas > of which is true and false (at the assembler level). And it is simply > a convention. You are wrong: the value of true and false in C is defined as part of the language: When I write if(exp) foo(); else bar(); foo is called if exp is nonzero and bar is called if exp is zero. The result of relational operators, &&, ||, and ! is always 1 or 0 (not some random machine-dependent value or zero).