this post was submitted on 21 Sep 2026
141 points (99.3% liked)

Programmer Humor

33615 readers
2015 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 3 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] FiskFisk33@startrek.website 13 points 3 weeks ago (3 children)

question, why is a declaration not a statement?

[–] gratux@lemmy.blahaj.zone 37 points 3 weeks ago

from what i could find "because it was designed that way"

For what it's worth, C23 has updated labels to allow being placed before declarations.

[–] sik0fewl@piefed.ca 15 points 3 weeks ago (1 children)

Possibly because declarations were originally not statements in C? You could only declare variables at the start of a function, but not assign them to something at the same time.

Not sure why it still wouldn’t be allowed, though, especially if an empty statement can be a statement.

[–] daychilde@lemmy.world 7 points 3 weeks ago (1 children)

if an empty statement can be a statement.

Sometimes saying nothing is the loudest statement you can make. ;-)

[–] nebeker@programming.dev 4 points 3 weeks ago

And NOP is a perfectly reasonable instruction.

[–] terranoid@lemmy.cafe 5 points 3 weeks ago

When it's designed to be an expression

while (int x = 1) { ... Modify x to eventually be zero... }

That might make sense even if it looks weird. Kinda like a for loop.