this post was submitted on 26 Feb 2024
308 points (97.2% liked)
Programmer Humor
32495 readers
632 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Yep, variables that are merely declared are not initialized, so their value is not guaranteed. Could be anything.
Correct me if I'm wrong, but I'm pretty sure some compiler settings can change this. I have a fuzzy memory of a bug that went away when compiled with debug flags enabled and the difference was that unassigned variables were being zeroed vs not zeroed.
Yes, actually at my job a co-worker just found exactly such a bug yesterday: Debug build zeroed out the variable and the release build didn't. So the bug only occurred in the release build, but could not be reproduced on the debug build where the developers work on. So in the end he found it because of the different compiler flags used for debug vs release builds at our work place.