Sujet : Re: Whaddaya think?
De : 643-408-1753 (at) *nospam* kylheku.com (Kaz Kylheku)
Groupes : comp.lang.cDate : 17. Jun 2024, 08:39:36
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <20240617003207.452@kylheku.com>
References : 1 2 3 4
User-Agent : slrn/pre1.0.4-9 (Linux)
On 2024-06-17, James Kuyper <
jameskuyper@alumni.caltech.edu> wrote:
On 6/16/24 12:20, DFS wrote:
On 6/15/2024 6:22 PM, Keith Thompson wrote:
DFS <nospam@dfs.com> writes:
...
return(0);
>
A minor style point: a return statement doesn't require parentheses.
IMHO using parentheses make it look too much like a function call. I'd
write `return 0;`, or more likely I'd just omit it, since falling off
the end of main does an implicit `return 0;` (starting in C99).
Can't omit it. It's required by my brain.
I think DFS might mean that they find themselves unable to omit the
unnecessary return 0 statement entirely.
I also hate it; I feel that the implicit return 0 in main is a
misfeature that was added due to caving in to bad programmers.
Making int main(void) { } correct is like legalizing weed.
Potheads are still potheads. Since I'm not one, I write a
return statement in main.
The parentheses you're putting in are completely unrelated to the use of
parentheses in _Generic(), function calls, compound literals,
sizeof(type name), alignof(), _BitInt(), _Atomic(), typeof(),
typeof_unqual(), alignas(), function declarators, static_assert(), if(),
switch(for(), while(), do ... while(), function-like macro definitions
and invocations or cast expressions. In all of those cases, the
parentheses are part of the grammar.
Speaking of while, the do/while construct does not require parentheses
in order to disambiguate anything, since it has a mandatory semicolon.
Yet, it still has them.
There would be no issue with this grammar:
iteration_statement := 'do' statement 'while' expression ';'
the fragment "'while' expression ';'" is exactly like
"'return' expression ';'".
Obviously, the parentheses are there for consistency with the
top-testing while loop.
It seems that in some people's eyes, the same consistency should extend
to the return statement.
More widespread than that is a practice of always using parentheses
around the argument of sizeof, even if it's an expression and not
a type.
-- TXR Programming Language: http://nongnu.org/txrCygnal: Cygwin Native Application Library: http://kylheku.com/cygnalMastodon: @Kazinator@mstdn.ca