612
submitted 5 months ago by Zerush@lemmy.ml to c/memes@lemmy.ml
you are viewing a single comment's thread
view the rest of the comments
[-] PM_ME_VINTAGE_30S@lemmy.sdf.org 3 points 5 months ago

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 5 months ago

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 5 months ago* (last edited 5 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.

this post was submitted on 12 May 2024
612 points (94.0% liked)

Memes

45413 readers
789 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