c语言for循环嵌套if语句
假设两个循环i=0和j=0控制循环,然后嵌套一个if语句,我想的假设条件成立的话,跳出循环,继续i从0开始j从0开始重新判断,成立继续这样直到达到循环条件怎么实现呢...
假设两个循环 i=0和j=0控制循环,然后嵌套一个if语句,我想的假设条件成立的话,跳出循环,继续i从0开始j从0开始重新判断,成立继续这样直到达到循环条件 怎么实现呢
展开
6个回答
展开全部
两种方法,一种是重新赋值,程序段如下
for(i=0;i<Maxi;i++)
for(j=0;j<Maxj;j++)
if(true)
{
i=-1;
break; //从此处跳出本层循环,由于赋值i=-1,执行完
//break语句之后,执行外层循环i++指令,使得
//i=0;外层循环相当于重新开始,j的值无需处理,
//因每次进入内层循环,j值均会被for语句赋初值0
}第二种方法是无条件转移指令:
sign: for(i=0;i<Maxi;i++)
for(j=0;j<Maxj;j++)
f(true) goto sign; //条件为真跳转至sign语句一般情况下,应当避免使用goto无条件跳转指令,因为很多人认为程序可读性会因为goto的引入而变差,但是在不少情况下goto可以使得程序代码简单,效率提高,个人认为适当使用goto指令并无不可,楼主可自己作出选择。
展开全部
两种方法,一种是重新赋值,程序段如下
for(i=0;i<Maxi;i++)
for(j=0;j<Maxj;j++)
if(true)
{
i=-1;
break;
}
第二种方法是无条件转移指令:
sign: for(i=0;i<Maxi;i++)
for(j=0;j<Maxj;j++)
f(true) goto sign; //条件为真跳转至sign语句
for(i=0;i<Maxi;i++)
for(j=0;j<Maxj;j++)
if(true)
{
i=-1;
break;
}
第二种方法是无条件转移指令:
sign: for(i=0;i<Maxi;i++)
for(j=0;j<Maxj;j++)
f(true) goto sign; //条件为真跳转至sign语句
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(i=0; i<10; ++i)
{
for(j=0; j<10; ++j)
{
if(condition)
{
// 这样下次进入for(j)循环时,i=j=0
i = 0;
j = -1;
continue;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c语言里if语句里是可以嵌套for循环的(if语句里可以放c语言里的任意的执行语句)。
举例说:
char
yn;
int
i;
printf("需要打印1到10之间的所有奇数吗(y/n)?\n");
scanf("%c",&yn);
if(yn=='y'||yn=='y')
{
for(i=1;i<10;i+=2)
printf("%d
",i);
printf("\n");
}
else
printf("那就不打印了\n");
举例说:
char
yn;
int
i;
printf("需要打印1到10之间的所有奇数吗(y/n)?\n");
scanf("%c",&yn);
if(yn=='y'||yn=='y')
{
for(i=1;i<10;i+=2)
printf("%d
",i);
printf("\n");
}
else
printf("那就不打印了\n");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int flag = 0;
for (int i=0;i<m;i++)
{
for (int j=0;j<n;j++)
if 条件成立
{
flag = 1;
break;
}
if (flag)
break;
}
是要实现这个么
for (int i=0;i<m;i++)
{
for (int j=0;j<n;j++)
if 条件成立
{
flag = 1;
break;
}
if (flag)
break;
}
是要实现这个么
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询