【问题标题】:15:1: error: expected unqualified-id before 'for'15:1: 错误: 'for' 之前的预期 unqualified-id
【发布时间】:2016-08-16 11:56:48
【问题描述】:

以下代码出现此错误:

int array [50];
int i = 0;

void setup()
{
   Serial.begin(9600); 
}

void loop() 
{
  Serial.println ("Position " + array[i]);
  delay (2000);

}

for (i <= 50) 
{
  int n = random (251); // Random number from 0 to 250
  array[i] = n;
  i++;
}

// Bubble sort function
void sort (int a[], int size) 
{
    for(int i=0; i<(size-1); i++) 
    {
        for(int j=0; j<(size-(i+1)); j++) 
        {
                if(a[j] > a[j+1]) 
                {
                    int k = a[j];
                    a[j] = a[j+1];
                    a[j+1] = k;
                }
        }
    }
}

当我像这样将 for 循环放入函数 void 循环中时:

void loop() 
{
  Serial.println ("Position " + array[i]);
  delay (2000);

  for (i <= 50) 
  {
    int n = random (251); // Random number from 0 to 250
    array[i] = n;
    i++;
  }
}

它给了我:

exit status 1
expected ';' before ')' token

我只是想在假期里继续工作,但在这几个月里我似乎变得更笨了..

感谢您的帮助

【问题讨论】:

  • 你应该为你使用的语言/平台添加一个标签,for (i &lt;= 50) 看起来不完整

标签: java arrays token


【解决方案1】:

无论是什么语言(C、Java、C++、PHP...),for 循环通常都是这种形式:

for (init_part; condition; post_instructions) {
  ...
}

如果您没有任何要初始化的内容或发布指令,可以省略它们:

void loop() 
{
  Serial.println ("Position " + array[i]);
  delay (2000);
  for ( ; i <= 50; ) 
  {
    int n = random (251); // Random number from 0 to 250
    array[i] = n;
    i++;
  }
}

'i++' 可以转到 post_instructions,例如:

void loop() 
{
  Serial.println ("Position " + array[i]);
  delay (2000);
  for ( ; i <= 50; ++i) 
  {
    int n = random (251); // Random number from 0 to 250
    array[i] = n;
  }
}

[edit] 顺便说一句,你在作用域中没有“i”变量。您可能必须先声明它...

【讨论】:

    【解决方案2】:

    根据您拥有的另一个 for 循环:

    for (int i=0; i <= 50; i++;) 
    {
      int n = random (251); // Random number from 0 to 250
      array[i] = n;     
    }
    

    【讨论】:

      猜你喜欢
      • 2011-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-07
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      • 2013-04-10
      相关资源
      最近更新 更多