Error

引用数组元素

数组的大部分用处在于它的元素可以单独访问。
这样做的方法是使用索引对元素进行编号。

记住!
C 中数组的编号从零开始。
(这是强制性的 - 您必须从头开始。记住这一点尤为重要)

访问数组 A 的示例: <前> x = (A[3] + 5)*A[1]; //读取A[3]和A[1]的值 A[0] = x + 6; // 将新值写入 A[0] 让我们分析一下处理数组元素的程序。 <前> #include ; 使用命名空间标准; 主要的() { int i=1,A[5]; A[0] = 23; //到数组的 5 个元素中的每一个(索引从 0 到 4) A[1] = 12; //写一个特定的值 A[2] = 7; A[3] = 43; A[4] = 51; A[2] = A[i] + 2*A[i-1] + A[2*i]; // 将索引为 2 的元素的值更改为表达式的结果 //因为i=1,那么将变量i的值代入我们得到的表达式 //下一个表达式 A[2] = A[i] + 2*A[0] + A[2]; 输出 << A[2]+A[4]; 执行该程序后,屏幕上将显示索引 2 等于 116 的数组元素的值。从示例中可以看出,我们可以访问数组中的任意元素大批。并且还使用各种公式计算所需的元素数量(例如,在程序 A[i-1] 或 A[2*i] 中,在这些情况下,将计算元素的索引并取决于i 的值。)

让我们看一个示例程序 <前> #include; 使用命名空间标准; 主要的() { 常量 N = 5; int A[N]; x = 1; 输出 << A[x-3]; //引用元素 A[-2] A[x+4]=A[x]+A[2*(x+1)]; //将 x 代入表达式和计算后,我们得到以下行:A[5] = A[1]+A[ 4]; ... } 因为该数组声明为有 5 个元素,这意味着元素将被编号从 0 到 4。 我们看到程序访问了不存在的元素:A[-2] 和 A[5]
原来是程序越界了

数组越界正在访问数组中不存在的索引元素。

在这种情况下,程序通常会因运行时错误
而崩溃
让我们尝试自己处理数组元素。 完成任务
 

遍历数组元素
使用数组时,通常必须同时处理数组的所有元素。
 
迭代元素包括遍历数组的所有 元素 并对每个元素执行相同的操作。<代码>

为此,通常使用带有变量的循环,它从 0 变为 N-1N 数组元素的数量). ... 常量 N = 10; int A[N]; 对于 (i = 0; i < N; i++) { // 对元素 A[i] 的操作 } ... 在指定的循环中,变量i 将取值 0, 1, 2, ..., N-1。 也就是说,在循环的每一步,我们都访问索引为 i 的特定数组元素。
因此,只需写下需要对 A[i] 数组的一个元素执行的操作并将这些操作放在这样的循环中即可。
 
任务
用前 N 自然数填充数组。那些。在程序结束时,数组的元素应该变得相等: A[0] = 1;  A[1] = 2; A[2] = 3; ... A[N-1] = N;
很容易看出模式:数组元素的值必须比元素的索引大 1。
该循环将如下所示: for (i=0; i