Deutsch English Français Italiano |
<87plsdy9aj.fsf@nosuchdomain.example.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!news.nobody.at!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Keith Thompson <Keith.S.Thompson+u@gmail.com> Newsgroups: comp.lang.c Subject: Re: Whaddaya think? Date: Tue, 18 Jun 2024 19:07:48 -0700 Organization: None to speak of Lines: 21 Message-ID: <87plsdy9aj.fsf@nosuchdomain.example.com> References: <666ded36$0$958$882e4bbb@reader.netnews.com> <20240616015649.000051a0@yahoo.com> <v4lm16$3s87h$4@dont-email.me> <v4lmso$3sl7n$1@dont-email.me> <v4lr0m$3tbpj$1@dont-email.me> <8734pd4g3s.fsf@nosuchdomain.example.com> <v4ltuj$3trj2$1@dont-email.me> <87y17530a0.fsf@nosuchdomain.example.com> <v4mb92$3ak$1@dont-email.me> <87tths39yy.fsf@nosuchdomain.example.com> <v4oi9f$gnf3$1@dont-email.me> <877ceo2iqq.fsf@nosuchdomain.example.com> <v4onrg$hmc2$1@dont-email.me> <87plsf17q1.fsf@nosuchdomain.example.com> MIME-Version: 1.0 Content-Type: text/plain Injection-Date: Wed, 19 Jun 2024 04:07:53 +0200 (CEST) Injection-Info: dont-email.me; posting-host="14c46e9d4441e9b6d7e573ea203ad727"; logging-data="1857326"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+d93DyXMINZLvj7tpr7kTV" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) Cancel-Lock: sha1:fFhaTbKxC1ith5XS6iedY7+aOFA= sha1:ubT4yC15sZ+iKo2jIDOPuLJsvZo= Bytes: 2529 Keith Thompson <Keith.S.Thompson+u@gmail.com> writes: [...] > That's fine. A return statement or exit() call is unnecessary > in main() due to a special-case rule that was added in 1999 for > compatibility with C++. I don't particularly like that rule myself. > I choose to omit the return statement in small programs, but if > you want to add the "return 0;", I have absolutely no objection. > (I used to do that myself.) It even makes your code more portable > to old compilers that support C90. (tcc claims to support C99, > but it has a bug in this area.) A minor point: The latest unreleased version of tcc appears to fix this bug. In tcc 0.9.27, falling off the end of main (defined as "int main(void)") returns some random status. In the latest version, it returns 0, based on a quick experiment and a cursory examination of the generated object code. (tcc doesn't have an option to generate an assembly listing; I used "tcc -c" followed by "objdump -d".) -- Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com void Void(void) { Void(); } /* The recursive call of the void */