c语言中跳出for循环体循环变量的变化

c语言中跳出for循环体循环变量的变化。比如说for(i=0;i<7;i++){循环体},当i大于7跳出循环体时循环变量如和变化,是重新变回0吗?... c语言中跳出for循环体循环变量的变化。比如说for(i=0;i<7;i++){循环体},当i大于7跳出循环体时循环变量如和变化,是重新变回0吗? 展开
 我来答
Meo_meo
2012-11-16 · 超过16用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:39万
展开全部
最有效率的办法就是i不变化。所以在c语言里当循环退出时,i会保留原来的值,也就是7
追问
那请问如果是循环嵌套呢,外循环没变化一次,内循环都要从初值变到终值。不也就隐含了要将内循环执行完之后的循环变量清零了吗?书上是这么写的,我已我就不懂了。
追答
上面的for语句已经包含了循环变量初始化(i=0)。如果循环开始时这样做的话,循环变量会在循环开始时清零,不是之后...
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
瓜条文库
2012-11-16 · TA获得超过661个赞
知道小有建树答主
回答量:470
采纳率:75%
帮助的人:105万
展开全部
for(i=0;i<7;i++)
{
循环体
}

跳出循环后,i的值当然已经是自增以后的值7了,不会是0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
左怀莲6H
2019-10-08
知道答主
回答量:3
采纳率:0%
帮助的人:1866
展开全部
如果是静态局部变量,i的值也会被保留,只是其他函数无法调用i的值,即i的作用域仅限于i所在的函数;
但如果是局部变量,当跳出i所在的函数后,i的空间将会被释放,这样i的值也不会被保留,当下次再访问该函数时,i还是会以初始值的状态被使用,并且i的作用域仅限于i所在的函数;
如果是全局变量,又分为外部全局变量和内部全局变量,如果是内部全局变量,那该变量作用于整个源文件,如果是外部全部变量,则在调用时,需要申明后,才能调用.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友02d2007
2012-11-16 · TA获得超过140个赞
知道小有建树答主
回答量:196
采纳率:100%
帮助的人:108万
展开全部
那要看你是在哪里定义的循环变量,如果是局部变量的话,在模块内跳出循环后i的值在不被改变的情况下等于7,退出模块后,无法访问到i,也就是说在外部模块i是不可见的;如果是全局变量,那么在翻译单元内,i的值都为7(在不被改变的情况下).
追问
那请问如果是循环嵌套呢,外循环没变化一次,内循环都要从初值变到终值。不也就隐含了要将内循环执行完之后的循环变量清零了吗?书上是这么写的,我已我就不懂了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
seuzhouww
2012-11-16 · TA获得超过1385个赞
知道小有建树答主
回答量:658
采纳率:0%
帮助的人:293万
展开全部
当执行完成循环体,且循环体无中断语句。最后i=7。
i在作用域内一直保持,取决于其生存期。
追问
那请问如果是循环嵌套呢,外循环没变化一次,内循环都要从初值变到终值。不也就隐含了要将内循环执行完之后的循环变量清零了吗?书上是这么写的,我已我就不懂了。
追答
for(语句1;语句2;语句3;){循环体}
理解for循环的语法规则。每次进入for循环复合语句,会首先执行语句1!并立即判断语句2,满足条件执行循环体内容,最后执行语句3并再次判断语句2。条件不满足立即结束。

【1】每次进入,i初值会被改写成0(语句1实现的);
【2】每次退出,通常是7。如果循环体中有i的赋值操作或break、return之类的语句另行分析。
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式