I recently had an issue with a program where I compared a variable that I had initialized with one that hadn't. I figured it out (with the help of others here!) eventually, but this raised another question. Is the value of an uninitialized variable set by the compiler or by something else entirely. When I ran the program in Linux, the variable was set to -127xxxxxx, however, in Windows it was set to 0.
So essentially my question is what sets the value of variables with no values. This was a C program.
OS: Windows 10 and Linux Ubuntu 14.04.5 LTS