继续跳转

continue 语句中断包含 continue 的最内层循环的当前迭代,并启动下一次迭代。 该语句只能在 forwhiledo 循环内部使用。for 内部 continue 的执行导致循环头文件中表达式的下一次计算(循环变量的递增/递减),之后检查循环继续条件。在 while 或者 do 内部执行 continue 会立即检查循环文件头中的条件。

该语句由 continue 关键字和一个分号组成:

continue ;

它通常被放置在 if/else 转换条件语句的一个分支中。

例如,我们可以生成一个有空格的乘法表:当两个索引的乘积为奇数时,对应的数组元素将保持为零 (StmtJumpContinue.mq5)。

int a[10][10] = {0};
for(int i = 0i < 10; ++i)
{
   for(int j = 0j < 10; ++j)
   {
      if((j * i) % 2 == 1)
         continue;
      a[i][j] = (i + 1) * (j + 1);
   }
}
ArrayPrint(a);

这是计算一个数组的正元素之和的方法。

int b[10] = {1, -234, -5, -678, -910};
int sum = 0;
for(int i = 0i < 10; ++i)
{
   if(b[i] < 0continue;
   sum += b[i];
}
Print(sum); // 33

请注意,相同的循环可以不用 continue 进行重写,但会使用更多的代码块嵌套:

for(int i = 0i < 10; ++i)
{
   if(b[i] >= 0)
   {
      sum += b[i];
   }
}

因此,continue 运算符通常用于简化代码格式(特别是需要通过几个条件时)。然而,选择哪种方法属于个人偏好问题。