Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!sdd.hp.com!spool.mu.edu!cs.umn.edu!uc!shamash!bls From: bls@u02.svl.cdc.com (Brian Scearce) Newsgroups: comp.lang.c Subject: Re: New 'n' Improved comp.lang.c FAQ List Message-ID: <31946@shamash.cdc.com> Date: 2 Apr 91 03:03:43 GMT References: <910401.0xf001@etiquette.uu.net> <1991Apr1.203024.19679@unlv.edu> Sender: usenet@shamash.cdc.com Lines: 78 grover@big-joe.cs.unlv.edu (Kevin Grover) writes: > Apparently non-obvious April Fool's Day bogus account posts: >> Q: Why doesn't this function work: >> >> itoa(int i) >> { >> char retbuf[5]; /* biggest int: 32769 */ >> sprintf("%d", retbuf, i); >> return retbuf; >> } >> > A correct version of this program is: > char *itoa(int i) > { > static char retbuf[5]; /* biggest int: 32769 */ > sprintf(retbuf, "%d", i); > return retbuf; > } Almost, but not quite, Mr. Grover. The *really* correct version of this: char *itoa(int i) { static char retbuf[5]; /* biggest int: 32768 */ sprintf(retbuf, "%d", i); return retbuf; } If you are going to put in comments, you should make sure they're correct. Actually, I delete all my comments from production code, for efficiency. Although the next release of my compiler is suppossed to emit no-ops for comments, I can't afford to upgrade right now. >> Q: Which is more efficient, i = i + 1 or i = 1 + i ? >> A: [ intrinsic __inc is suggested ] > Why not just use the ++ operator??? (as in i++, or ++i) Any decent > compiler should use the ML increment function if your machine has one. He probably just forgot. Programmers aren't perfect, and having so many operators in C just makes the situation worse. A meaningful name like __inc() is better. If the programmer is one of the ones smart enough to remember the C build-in operator, then he can write a define like: #define __inc(x) ++(x) So nothing is lost. Personally, I avoid ++: it makes me think of George Orwell. ++good; /* Assign 0x7c0 to good */ >> Q: What's the best indentation and brace placement style? >> A: Don't bother indenting [...] > What do you mean, DON'T BOTHER INDENTING???? Like comments, whitespace should be removed for efficiency. If you are one of the lucky few that has a compiler that can handle whitespace efficiently, count your blessings, but don't ask the rest of us to mutate our code to fit your compiler. > Is this a joke? Was this whole post a joke? That would be irresponsible. Except on April 1. To the original author: you should have posted from a real account. I wanted to thank you without wasting bandwidth. The N&I FAQ is going up on my office door. -- Brian Scearce (bls@robin.svl.cdc.com -or- robin!bls@shamash.cdc.com) "Don't be surprised when a crack in the ice appears under your feet..." Any opinions expressed herein do not necessarily reflect CDC corporate policy.