c语言for循环嵌套if语句

2025-02-03 08:01:07
推荐回答(5个)
回答1:

  • 两种方法,一种是重新赋值,程序段如下

    for(i=0;i    for(j=0;j        if(true)
            {
                i=-1;
                break;       //从此处跳出本层循环,由于赋值i=-1,执行完
                             //break语句之后,执行外层循环i++指令,使得
                             //i=0;外层循环相当于重新开始,j的值无需处理,
                             //因每次进入内层循环,j值均会被for语句赋初值0
             }


  • 第二种方法是无条件转移指令:

    sign: for(i=0;i         for(j=0;j            f(true)    goto sign; //条件为真跳转至sign语句

  • 一般情况下,应当避免使用goto无条件跳转指令,因为很多人认为程序可读性会因为goto的引入而变差,但是在不少情况下goto可以使得程序代码简单,效率提高,个人认为适当使用goto指令并无不可,楼主可自己作出选择。

回答2:

两种方法,一种是重新赋值,程序段如下
for(i=0;i for(j=0;j if(true)

i=-1;
break;
}
第二种方法是无条件转移指令:
sign: for(i=0;i for(j=0;j f(true) goto sign; //条件为真跳转至sign语句

回答3:

for(i=0; i<10; ++i)
{
    for(j=0; j<10; ++j)
    {
        if(condition)
        {
            // 这样下次进入for(j)循环时,i=j=0
            i = 0;
            j = -1;
            continue;
        }
    }
}

回答4:

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");

回答5:

int flag = 0;
for (int i=0;i{
for (int j=0;j
if 条件成立
{
flag = 1;

break;

}
if (flag)
break;

}
是要实现这个么