3 回答
TA贡献1995条经验 获得超2个赞
循环体是一个“域”,通常用一对花括号,表示这个“域”的入口和出口。
从 “域”的外部 进入 这个域,只允许从 入口处进入。
从 “域”的内部(内嵌域) 进入 这个域,可以从任何地方进入。
不喜欢用 continue.
for(i=0;i<25;i++) 某种条件让i等于7时跳出循环,回来为8, 程序改一下:
-----------------------------------------
int i,kk=0;
Lab1:
for (i=kk;i<25;i++){
语句;
语句;
if (i==7) { kk=i+1; break ;}; // 或 goto Lab2; 跳出循环。
语句;
}
Lab2: // 出了循环,做什么工作
if (i==7)
{
语句;
语句;
goto Lab1; 做毕,必须从 循环 入口 进去,利用 kk 的值,i 循环就从 8 起。
}
==============
若 不喜欢 goto Lab1; 可以写
do {
for (i=kk;i<25;i++){ ... if (i==7){kk=i+1; break;}; .....};
if (i==7) { };
} while (i==7);
TA贡献1799条经验 获得超9个赞
这个问题主要取决你使用的关键字是break,还是continue。
你用continue和break是有区别的
例如int i;
for(i=0;i<25;i++)
{if(i==7)
break;
}则表示跳出循环函数,也就是结束循环。
假如用continue
for(i=0;i<25;i++)
{if(i==7)
continue;}则表示跳出本次循环,直接执行i=8,之后的情况了。
按照你提得问题,应该采用的是continue,那就不会重新赋值的。
添加回答
举报