为了账号安全,请及时绑定邮箱和手机立即绑定

如下内容,当i进去循环时会不会因为那句i=0而变成0还是坚持自己当个8?

如下内容,当i进去循环时会不会因为那句i=0而变成0还是坚持自己当个8?

收到一只叮咚 2022-06-01 15:11:21
c++循环逻辑,int i;for(i=0;i<25;i++)假如我通过某种条件让i等于7时跳出循环,然后再次从i等于8进去循环,那么当i进去循环时会不会因为那句i=0而变成0还是坚持自己当个8?
查看完整描述

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


查看完整回答
反对 回复 2022-06-06
?
扬帆大鱼

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,那就不会重新赋值的。


查看完整回答
反对 回复 2022-06-06
?
慕森卡

TA贡献1806条经验 获得超8个赞

可以什么都不做,假如真要跳出去的话,也回不来了。因为程序是顺序执行的。除非goto,不建议使用goto。
goto了以后,循环初始条件会改变i的值

查看完整回答
反对 回复 2022-06-06
  • 3 回答
  • 0 关注
  • 166 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信