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 -