带循环的数组

Array with loop

本文关键字:数组 循环      更新时间:2023-10-16

我两个月前刚开始学习编程,现在还是个新手。我只是学习如何编写带循环的数组代码。这是我的密码。

#include <iostream>
using namespace std;
int main()
{
    int array[5];
    for(int x=1; x<=5; x++)
       {
        fidan[x]=16;
        cout<<x<< " --- " << array[x]<<endl;
       }
    return 0;
}

我知道这个数组是从0开始计数的。但我希望我的程序从1开始。因此,在for循环而不是x=0中,我编写x=1。然后在我最后一次x时,它开始变得很奇怪。

有人能帮我吗?我很感激。谢谢

array[5]表示一个包含5个元素的数组。这些元素是:

array[0],array[1],array[2],array[3],array[4]. 

现在您可以将它声明为array[6],然后您将拥有一个array[5]元素。现在,您的代码在访问array[5]元素时应该产生了分段错误,但这是未定义的行为,所以谁知道该内存段属于谁。

你得到的奇怪字符是因为内存不属于数组变量,可能不能被解释为int。希望这有帮助。

您应该使用以下两种方法之一:

for (int i = 0 ; i < 5 ; i++)
    cout << array[i] << " "; 

for (int i = 1 ; i <= 5 ; i++)
    cout << array[i - 1] << " ";

您的数组包含5个元素。

当循环中的x=5时,您正在访问第6个元素,因此您超出了数组的边界。

我知道这个数组是从0开始计数的。

正确。

但我希望我的程序从1开始。

事实并非如此。正如你刚才所说。

所以,在for循环中,我写的不是x=0,而是x=1。

不要那样做。

然后在我的最后一个x开始变得很奇怪。

是的,因为您试图访问一个不存在的数组元素。