两种方法,一种是重新赋值,程序段如下
for(i=0;ifor(j=0;j if(true)
{
i=-1;
break; //从此处跳出本层循环,由于赋值i=-1,执行完
//break语句之后,执行外层循环i++指令,使得
//i=0;外层循环相当于重新开始,j的值无需处理,
//因每次进入内层循环,j值均会被for语句赋初值0
}
第二种方法是无条件转移指令:
sign: for(i=0;ifor(j=0;j f(true) goto sign; //条件为真跳转至sign语句
一般情况下,应当避免使用goto无条件跳转指令,因为很多人认为程序可读性会因为goto的引入而变差,但是在不少情况下goto可以使得程序代码简单,效率提高,个人认为适当使用goto指令并无不可,楼主可自己作出选择。
两种方法,一种是重新赋值,程序段如下
for(i=0;i
{
i=-1;
break;
}
第二种方法是无条件转移指令:
sign: for(i=0;i
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");
int flag = 0;
for (int i=0;i
for (int j=0;j
if 条件成立
{
flag = 1;
break;
}
if (flag)
break;
}
是要实现这个么