什么打破;在以下代码中执行?我基本上需要走出内循环,但继续外循环
for(i=0;i<n;i++)
{
for(j=i;j<n;j++)
{
if(condition)
{
count++;
break;
}
}
}
答案 0 :(得分:4)
代码中的break
将突破内部循环。然后外部循环继续(如果其中的条件为真),就像您想要的那样。请注意,break
对if
没有影响。它会突破像for
,while
等循环,当它被放置在嵌套循环中时,它就会突破最内层循环。
答案 1 :(得分:0)
一旦程序遇到中断语句。它从内部 for循环退出,controll到达内部for循环的结尾
这里是一个例子
for(i=0;i<3;i++)
{
for(j=1;j<3;j++)
{
if(i == j)
{
break;
}
printf("Inside the inner for loop \t i is : %d \t j is %d \n",i,j);
}
printf("Outside of the for loop \t i is : %d \t j is %d \n",i,j);
}
输出是:
Inside the inner for loop i is : 0 j is 1
Inside the inner for loop i is : 0 j is 2
Outside of the for loop i is : 0 j is 3
Outside of the for loop i is : 1 j is 1
Inside the inner for loop i is : 2 j is 1
Outside of the for loop i is : 2 j is 2