鉴于此代码:
void main()
{
int x;
cout << x;
system("pause");
}
当我调试这段代码时,它总是打印-858993460A。我读到这是因为 VS 将其设置为统一变量的默认值。但我还读到,在 Release模式下,这应该获得随机值。但是每次我在 Release模式下运行此代码时,我都会得到 1772893972A ,它没有改变 -> 它不是随机的。这是什么?为什么我会得到这个值?
最佳答案
您的困惑在于“在 Release模式下,这应该获得一个随机值”的假设。这不是真的。
未初始化的变量会获得“未定义”值。它可以是随机的,但不一定是随机的。
如果您希望 x 具有随机值,请使用 rand()。
关于c++ - 未初始化的 int 值始终相同 (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5568997/