●●●如何一下跳出两层循环?

●●●如何一下跳出两层循环?,第1张

1、对于多重循环语句的一次性跳出goto语句是最方便,几乎所有语言都提供了goto语句,当然还可使用exit for(vb6)等语句一层层跳出。

2、很多人不顾一切的反对goto语句,其实是错误的,goto用对了地方是很方便的。

3、vb6示例:(按行查找第一个值为100的元素位置)

Private Sub Command1_Click()
Dim i As Integer, j As Integer, n(100, 100) As Integer
For i = 0 To 100
  For j = 0 To 100
      n(i, j) = Int(Rnd  100) + 1
  Next
Next
For i = 0 To 100
  For j = 0 To 100
      If n(i, j) = 100 Then GoTo js
  Next
Next
js:
DebugPrint n(i, j), i, j
End Sub

采用标签方式跳出,指定跳出位置。

具体如下:

a:for(int i=0;i<n;i++) {

b:for(int j=0;j<n;j++) {

if(n=0) {

break a;

}

}

public void forEachTest() throws Exception{

int max=100;

outer:for(int i=0;i<max;i++){

Systemoutprintln("外层for循环,第("+(i+1)+")次循环开始++++++");

扩展资料:

for循环一般形式为:

for(单次表达式;条件表达式;末尾循环体

{

中间循环体;

}

其中,表示式皆可以省略,但分号不可省略,因为“;”可以代表一个空语句,省略了之后语句减少,即为语句格式发生变化,则编译器不能识别而无法进行编译。

for循环小括号里第一个“;”号前为一个为不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给循环控制变量赋初值; 也可用来计算其它与for循环无关但先于循环部分处理的一个表达式。

俩“;”号之间的条件表达式是一个关系表达式, 其为循环的正式开端,当条件表达式成立时执行中间循环体。

执行的中间循环体可以为一个语句,也可以为多个语句,当中间循环体只有一个语句时,其大括号{}可以省略,执行完中间循环体后接着执行末尾循环体 [2]  。

执行末尾循环体后将再次进行条件判断,若条件还成立,则继续重复上述循环,当条件不成立时则跳出当下for循环。

Pascal语言中的for循环:

for 循环变量:=初值 to/downto 终值 do

begin

循环体

end;

循环变量从起点到终点每次加1或减1(to 为加1,downto为减1)。

参考资料来源:百度百科--for循环

参考资料来源:百度百科--Java

应该先遍历数组,根据递推式求出数组全部元素

然后输入一个数就输出相应的数组元素值即可

当scanf("%d", &k)返回值为EOF时表示输入结束

C语言代码和运行结果如下:

输出符合样例,望采纳~

附源码:

#include <stdioh>

int main() {

int a[30], i, k;

a[0] = 0, a[1] = 1;

for (i = 2; i < 30; i++) // 先求出数组全部元素值

a[i] = a[i - 1] + a[i - 2];

while (scanf("%d", &k) != EOF) { // EOF为输入结束的标志

printf("%d\n", a[k]);

}

return 0;

}

多层跳出,可以用goto,但不建议用这个
其实这个就是逻辑的问题,可以用赋值的方式,也就是当需要跳出多个循环的时候
可以把上基层的跳出循环的条件该为可以跳出上一层循环就可以

for(i=0;i<M;i++)
for(j=0;j<N;j++)
for(k=0;k<B;k++)
{
if(条件)
{
i=M;j=N;break;
}
}
这样就可以跳出这些循环了


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/10547200.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存