c++的数组

来源:百度知道 编辑:UC知道 时间:2024/09/21 10:55:30
#include <iostream.h>
void main()
{int a[10]={1,2};
cout<<a[5]<<endl;}
请问这样输出是0
#include <iostream.h>
void main()
{int a[10];
cout<<a[5]<<endl;}
这样输出为什么是一个随即数

哦,当使用a[10]={1,2}这种方式赋初始值时,大括号内的数少于数组个数时,后面的元素自动被赋予0
但是如果只定义,而不赋初始值时,c语言的设定是不会自动赋初始值的(这点与vb不同),这是输出的会是一个很小的负数

前面的{int a[10]={1,2}; //初始化
a[5] C++默认数组中缺少的用0补足
int a[10]//没有初始化
a[5] //C++默认随机输出

。。。你觉得2个程序形式上区别在哪里呢??
原因非常明显了。。int a[10]={1,2};

前者你初始化了,而后面的你没有初始化数组