【发布时间】:2016-01-17 14:33:02
【问题描述】:
在我的数据结构课上,老师给了我们一个简单的代码,用循环打印数组中的元素。我声明了一个包含 10 个元素的数组,但初始化了 15 个元素的值为 5,而不是打印 15 个元素,因为我知道其余元素将显示垃圾值。但它只输出 5 个元素。事实上,它显示了我将数组初始化为的元素数量。我正在使用代码块 13.12。 提前致谢。
#include <iostream>
using namespace std;
int main(){
int i,n;
int arr[10];
n=15;
for(i=0;i<n;i++){
arr[i] = 5;
}
for(i=0;i<n;i++){
cout << arr[i] << endl;
}
return 0;
}
【问题讨论】:
-
写入(或读取该遮罩)超出任何内容的范围会导致未定义的行为。不要这样做。
-
如果你做愚蠢的事情你自己。
-
哦,如果你不知道编译时数组的大小,那么使用
std::vector,它允许你在运行时设置大小,当然还有追加新的运行时的元素。