c++小问题 谢谢帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/27 08:17:40
#include<iostream.h>
void main()
{
int a[5];
a[1]=3,a[3]=6;
cout<<a[2]+a[0]<<endl;
}编译后执行的结果是-1717986920什么原因啊?
谢谢各位高手帮忙解答一下

a[5]是自动类型(auto)的数组,声明后编译器或程序运行时都不会对它进行初始化。
程序中只对a[1]、a[3]作了初始化,对a[2]和a[0]都没有初始化,它们的内容就是随机的。

因为数组a中a【2】a【0】没有赋过初值,编译器默认是-858993460,所以编译结果就是那个了。。。。