c# 如何退出双重for循环

c# 如何退出双重for循环,第1张

触发父级别的停止循环条件即可:
for(int i=0;i<10000;i++){
for(int j=0;j<10000;j++){
if(条件满足break){
i=10000;
break;
}
}
}

matlab中怎么跳出两重循环中的内层循环?可以这样做,在内层循环中,加一个if判断语句,当满足某个条件后,运行break命令后  ,就中断执行跳出循环。

for i=1:n

 for j=1:m

。。。。。。

if  判断条件式

break

end

end

end

我的想法是这样的。
非要用break的方式跳出,我觉得可以再内层for循环中加一个标志量,如label,当内层if条件成立时,label = 1;执行break;跳到外层for循环,在添加执行判断语句,if (label == 1) break;再次break,跳出第二层for循环
for循环编程语言中的语句之一,用于循环执行。for循环是开界的,它的一般形式为: for(; <条件表达式>; ) 语句; 初始化总是一个赋值语句, 它用来给循环控制变量赋初值; 条件表达式是一个关系表达式, 它决定什么时候退出循环; 增量定义循环控制变量每循环一次后 按什么方式变化。这三个部分之间用";"分开。 例如:for(i=1; i<=10; i++) 语句; 上例中先给i赋初值1, 判断i是否小于等于10, 若是则执行语句, 之后值增 加1。再重新判断, 直到条件为假, 即i>10时, 结束循环。
for语句比while语句和do-while都要灵活,是一种功能更大、更常用的循环语句,它的一般语法格式为:
for(表达式1;表达式2;表达式3)
{
循环体
}
其中,表示式可以省略,但是分号不可省略。

for ( int i=0;i<10;i++ ) {
  for ( int j=0;j<100;j++ ) {
    scanf("%d",&a); if ( a==0 ) goto MBREAKLOOP;
    
  }
}
MBREAKLOOP:;

只跳出一层。

例如

int a=0;
for(int i=0;i<=9;i++)
{
    for(int j=0;j<=9;j++)
    {
        break;
        a++;
    }
    a++;
}
printf("%d",a);

输出结果为

10

而不是0

总结一下,无论有几重循环,break永远只跳出自己所在的那一层循环,如果是在外层循环写break,则跳出的就是最外层循环(整个双重循环)。

求采纳~


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

原文地址: http://outofmemory.cn/yw/12945446.html

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

发表评论

登录后才能评论

评论列表(0条)

保存