C语言怎么直接从二重循环里直接跳出来?
4个回答
2013-06-09
展开全部
直接跳出多重循环用goto语句,但不被提倡。另外可以用return语句直接跳出函数执行。
2013-06-09
展开全部
break 直接跳出循环
continue 跳出本次循环
continue 跳出本次循环
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2018-04-13
展开全部
这好办,两个break就行了啊!!我举个简单的例子,这样应该好理解一些
#include "stdio.h"
void main()
{
int i,j,k=0;
int a[10][10]; /*设一个10*10的数组*/
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
a[i][j]=3; /*在这为了方便,将数组的值都赋值为3*/
k+=a[i][j];
if(k>5)break; /*假如k>5的话,跳出第一个循环*/
}
break; /*在跳出第二个循环,两个break就搞定了*/
}
printf("%d",k);
}
输出k=6这是正确答案。如果只有一个break,答案会是33.这表示只跳出了第一个循环,呵呵。另外,还是可以用goto直接跳出两重循环的,只是用的goto多了,容易造成代码混乱,可读行大大降低,一般很少用。不过心里清楚是怎样循环的,用一两次也没关系,呵呵。祝你解开谜团,如果有甚么好的方法记得通知我一下呦!QQ734200015
以下是用goto做的…
#include "stdio.h"
void main()
{
int i,j,k=0;
int a[10][10]; /*设一个10*10的数组*/
for(i=0;i<10;i++)
for(j=0;j<10;j++)
{
a[i][j]=3; /*在这为了方便,将数组的值都赋值为3*/
k+=a[i][j];
if(k>5)goto loop; /*假如k>5的话,一个goto就搞定了,直接跳到最外面*/
}
loop:printf("%d",k);
}
#include "stdio.h"
void main()
{
int i,j,k=0;
int a[10][10]; /*设一个10*10的数组*/
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
a[i][j]=3; /*在这为了方便,将数组的值都赋值为3*/
k+=a[i][j];
if(k>5)break; /*假如k>5的话,跳出第一个循环*/
}
break; /*在跳出第二个循环,两个break就搞定了*/
}
printf("%d",k);
}
输出k=6这是正确答案。如果只有一个break,答案会是33.这表示只跳出了第一个循环,呵呵。另外,还是可以用goto直接跳出两重循环的,只是用的goto多了,容易造成代码混乱,可读行大大降低,一般很少用。不过心里清楚是怎样循环的,用一两次也没关系,呵呵。祝你解开谜团,如果有甚么好的方法记得通知我一下呦!QQ734200015
以下是用goto做的…
#include "stdio.h"
void main()
{
int i,j,k=0;
int a[10][10]; /*设一个10*10的数组*/
for(i=0;i<10;i++)
for(j=0;j<10;j++)
{
a[i][j]=3; /*在这为了方便,将数组的值都赋值为3*/
k+=a[i][j];
if(k>5)goto loop; /*假如k>5的话,一个goto就搞定了,直接跳到最外面*/
}
loop:printf("%d",k);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-09
展开全部
break 语句!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询