出于某种原因,横向上的数组无法正常工作

Array in for-loop is not working for some reason

本文关键字:常工作 工作 数组 某种原因 横向      更新时间:2023-10-16

我不明白为什么语法正确时不会编译:

int arrows[1] = {23};
    for(arrows[1]; arrows[1] < 300; arrows[1]++)
    {
      cout << arrows[1];
    }

错误:

错误:"'for''!

之前的预期不合格的ID

错误:'箭头'没有命名类型!!

错误:'箭头'不命名类型

我正在使用此在线编译器(x86 GCC 4.9.2)。

在声明您指定其大小的数组时,这就是为什么在情况1中正确的原因,如果您想要大小1的数组。

访问数组元素时,您需要使用基于0的索引。因此,要访问数组的第一个元素,您将使用0。

您的代码将看起来像这样

#include <iostream>
int main()
{
    int arrows[1] = {23};
    for(arrows[0]; arrows[0] < 300; arrows[0]++)
    {
        std::cout << arrows[0];
    }
    return 0;
}

我认为交互式编译器已损坏。它甚至失败了:

for(;;) {
}

编辑:我错了...您不能仅将代码放在其中,添加main函数工作。

#include <iostream>    
int main( int argc, const char* argv[] )
{
    int arrows[1] = {23};
    for(arrows[1]; arrows[1] < 300; arrows[1]++)
    {
        std::cout << arrows[1];
    }
}

我相信与此在线编译器一起学习不是正确的方法...

此代码在"普通"开发环境下工作。

#include<iostream>
using namespace std;

int main()
{
    int arrows[1] = { 23 }; // initialize array of size one and assign it value 23
    // sizeof(arrows)/sizeof(*arrows) calculates the length of an array
    // iterate through all elements of the array and display their values..
    for (int i = 0; i < sizeof(arrows) / sizeof(*arrows); i++)
    {
        cout << arrows[i];
    }
    return 0;
}