c语言for循环嵌套if语句

假设两个循环i=0和j=0控制循环,然后嵌套一个if语句,我想的假设条件成立的话,跳出循环,继续i从0开始j从0开始重新判断,成立继续这样直到达到循环条件怎么实现呢... 假设两个循环 i=0和j=0控制循环,然后嵌套一个if语句,我想的假设条件成立的话,跳出循环,继续i从0开始j从0开始重新判断,成立继续这样直到达到循环条件 怎么实现呢 展开
 我来答
fcgzlevege
推荐于2017-09-15
知道答主
回答量:3
采纳率:0%
帮助的人:3.9万
展开全部
  • 两种方法,一种是重新赋值,程序段如下

    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指令并无不可,楼主可自己作出选择。

TableDI
2024-07-18 广告
`VLOOKUP` 函数在 Excel 中常被用于查找并返回指定列中的数据。其基本语法为 `VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])`。其中,`loo... 点击进入详情页
本回答由TableDI提供
专为勋
推荐于2017-09-19 · TA获得超过685个赞
知道小有建树答主
回答量:778
采纳率:25%
帮助的人:212万
展开全部
两种方法,一种是重新赋值,程序段如下
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语句
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
兔子和小强
2013-05-11 · TA获得超过6945个赞
知道大有可为答主
回答量:3332
采纳率:74%
帮助的人:1370万
展开全部
for(i=0; i<10; ++i)
{
    for(j=0; j<10; ++j)
    {
        if(condition)
        {
            // 这样下次进入for(j)循环时,i=j=0
            i = 0;
            j = -1;
            continue;
        }
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
毋迎南彭菲
2019-07-11 · TA获得超过3.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:27%
帮助的人:702万
展开全部
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");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
缪立军
2013-05-11 · TA获得超过384个赞
知道小有建树答主
回答量:257
采纳率:100%
帮助的人:168万
展开全部
int flag = 0;
for (int i=0;i<m;i++)
{
for (int j=0;j<n;j++)

if 条件成立
{
flag = 1;

break;

}
if (flag)
break;

}
是要实现这个么
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式