为什么未初始化的变量打印出一个奇怪的负值?

时间:2012-04-28 16:34:52

标签: c++ variables cout

为什么未初始化的变量会打印一个奇怪的负值?

int x;
cout << x << endl;

3 个答案:

答案 0 :(得分:13)

你在做什么(读取未初始化变量的值)是undefined behaviour;任何事情都可能发生,从看似工作,打印随机值,崩溃,用信用卡购买披萨。

答案 1 :(得分:5)

uninitialized variable是一个声明的变量,但在使用之前未设置为明确的已知值。它会有一些价值,但不是可预测的价值。

答案 2 :(得分:0)

如果未初始化变量,则会显示“垃圾值”。 这意味着它可以是来自任何地方的任意数字,可能来自另一个正在运行的应用程序或来自大内存池的随机数。