-4
int x;
x=x+30;
cout << x;

输出将是 33,为什么会这样?我什至没有将 x 声明为 3。有人可以指导我吗?谢谢!

4

2 回答 2

4

使用未初始化的变量是未定义的行为。由于实施怪癖的不可靠序列,您得到了 33。该程序完全可以免费产生任何价值,无法编译或雇用刺客刺伤您。

于 2013-09-22T06:47:29.317 回答
0

在 C++ 中,默认情况下给变量分配的空间(内存分配)等于变量的大小,但默认情况下不给它们赋值。

于 2013-09-22T06:48:13.150 回答