On Mon, Aug 14, 2006 at 12:53:33PM -0400, Kerry Thompson wrote:

> void strcpy (char *s, char *t)
> {
>       while (*s++ = *t++);
> }
> 
> This copies a character from t to s, THEN increments s and t, THEN does the
> boolean comparison. It's one of the most elegant pieces of C code I know.

Are you sure the boolean comparison isn't done first, before the copy? 
Someone new to C might wonder about that.

The above is also one of the more difficult for programmers new to C
(and even old hacks like me!) to understand at first glance.  If I saw
this sort of thing in modern "production" code I wouldn't be very happy.
There is no harm in expanding it out to aid readability and debugging. 
Any modern compiler should optimise both versions to the same object
code.


To unsubscribe, send a blank message to <mailto:[EMAIL PROTECTED]>. 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/c-prog/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Reply via email to