【发布时间】:2016-12-06 04:34:29
【问题描述】:
int main()
{
int a;
cout << a;
return 0;
}
我想知道为什么输出值 0。我想如果一个变量未初始化,它会输出一个垃圾值。
不过,我还记得听说过整数的默认值是 0,所以我有点困惑。
谢谢
【问题讨论】:
-
0与任何其他值一样都是垃圾值。您有未定义的行为。这意味着无法保证您的程序会做什么。 -
@paddy 在无数可能的值中每次都得到 0 就像每次玩强力球一样,你不觉得有点可疑吗? :)
-
@zar:不是这样。在计算机内存中,有些数字比其他数字更常见,而 0 是最常见的。
-
我认为这是一个调试负载,扮演愚蠢的虫子并以帮助的名义隐藏潜在的错误。
-
不要假设未定义的行为意味着结果是随机的
标签: c++ variables initialization