Mail Archives: djgpp/1997/08/08/20:26:10
From: | Erik Max Francis <max AT alcyone DOT com>
|
Newsgroups: | comp.os.msdos.djgpp
|
Subject: | Re: expression evaluation guarantees
|
Date: | Fri, 08 Aug 1997 09:42:30 -0700
|
Organization: | Alcyone Systems
|
Lines: | 34
|
Message-ID: | <33EB4C76.78E76FEB@alcyone.com>
|
References: | <33EADE57 DOT F93 AT pentek DOT com>
|
NNTP-Posting-Host: | newton.alcyone.com
|
Mime-Version: | 1.0
|
To: | djgpp AT delorie DOT com
|
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp
|
Charles Krug wrote:
> To those of you who bit my head off (OUCH) consider the following, which
> came up last week:
>
> if ((get_user_response()) && (format_hard_drive()))
> printf("Hard drive formatted");
>
> Are you willing to bet your hard drive that your compiler is ANSI
> complient?
I have yet to see _any_ ANSI C compiler that does not do short circuiting
properly.
So in the case of
if (get_user_response))
format_hard_drive();
are you willing to bet that all compilers are ANSI compliant? Same
question. Equally stupid.
The short circuiting && and || operators were _introduced_ to C for their
short circuiting properties (before that bitwise & and | were just used).
They weren't introduced in ANSI C, or even K&R C, but in traditional C.
Short circuiting is about as built into the language as if statements.
--
Erik Max Francis, &tSftDotIotE / email / mailto:max AT alcyone DOT com
Alcyone Systems / web / http://www.alcyone.com/max/
San Jose, California, United States / icbm / 37 20 07 N 121 53 38 W
\
"Love is not love which alters / when it alteration finds."
/ William Shakespeare, _Sonnets_, 116
- Raw text -