On May 7, 7:29 pm, "Michael W. Ryder" <_mwry... / worldnet.att.net>
wrote:
> John Joyce wrote:
>
> > On May 8, 2007, at 7:51 AM, Peter Seebach wrote:
>
> >> In message <923DE35C-CA19-4867-B3CE-FC3DB60A4... / gmail.com>, John
> >> Joyce writes:
> >>> What PS is saying is, unless you're using a really old compiler and
> >>> system (really really old) ...
> >>> main is a function that always returns int. Not void. Though some
> >>> compilers are kind of forgiving and will change it internally to int
> >>> anyway, just use int.
>
> >> It's been "int" since the first C compilers.  There's some platforms
> >> that are more tolerant, but it's been that way since K&R1.
>
> >> -s
>
> > Perhaps it has. Doesn't matter since when. There are and were compilers
> > that accept it. There are (unfortunately) and were books that taught
> > void main for a long time.
> > I can only speculate that they did this to initially hide some details
> > from people just starting out with C.
> > Luckily it doesn't happen anymore, but a lot of those old books are
> > still floating around, not to mention old code...
>
> I know the free Borland C++ compiler accepts void main().  I always used
> it for utility programs where I didn't care for the return from the
> program.  My copy of K&R uses just main() for programs and the Borland
> compiler accepts it without any warnings.

I typed the question quickly and used void main without thinking much
at all, hoping to get a quick answer to my question about rdoc.
Didn't think it would generate more discussions about void main and
int main ... :)

Ray,