开发环境
win10+vs2017
测试代码
#include <iostream>
using namespace std;
int main()
{
int c;
cout << c <<endl;
return 0;
}
报错??!!
这段代码,如果不对项目做任何设置的话是会默认报错的。
因为使用了未初始化的局部变量导致的错误。
任然想要查看。。。
我们对项目做如上的设置之后,就可以将错误变为警告然后打印出来局部变量c的值
结论
可以看到c的值为-858993460这个值即为0xcccccccc的十进制表示。
原因是:未初始化的栈区编译器默认(在vs2017下)都按照cc去填充了。另外补充,在gcc编译器则是按照0填充的