c++ - 未初始化的 int 值始终相同 (C++)

标签 c++ default int initialization

鉴于此代码:

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/

相关文章:

c++ - 循环 cv::Mat 对象时 cv::Exception 在内存位置

c++ - 使用静态库时未解析的外部符号 "_hypot"

c++ - 具有映射的结构 vector 的结构

javascript - 如何获取像 jQuery 这样的默认 CSS 属性?

c-将字符串更改为int

c++ - 在 Visual Studio 2017 上使用 VC++ 2015 工具链时缺少 ATL header

swift - SpriteKit 默认横向

PHP默认函数参数值, 'pass default value'参数如何 'not last'?

C - 检查是否分配了 Integer

c++ - 以给定的年复利利率计算任何金额翻倍的时间