this post was submitted on 12 May 2024
610 points (94.1% liked)

Memes

45655 readers
2320 users here now

Rules:

  1. Be civil and nice.
  2. Try not to excessively repost, as a rule of thumb, wait at least 2 months to do it if you have to.

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] PM_ME_VINTAGE_30S@lemmy.sdf.org 3 points 6 months ago (1 children)

Running #define ; anything yields error: macro names must be identifiers for both C and C++ in an online compiler. So I don't think the compiler will let you redefine the semicolon.

[–] fubarx@lemmy.ml 3 points 6 months ago (1 children)

Haha. Thanks for checking. Given the C pre-processor, I'm sure there's a way to maliciously bork it if someone sets their mind to it.

[–] PM_ME_VINTAGE_30S@lemmy.sdf.org 2 points 6 months ago* (last edited 6 months ago)

Well I just tried #define int void in C and C++ before a "hello world" program. C++ catches it because main() has to be an int, but C doesn't care. I think it is because C just treats main() as an int by default; older books on C don't even include the "int" part of "int main()" because it's not strictly necessary.

#define int void replaces all ints with type void, which is typically used to write functions with no return value.