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).