关于for循环控制范围问题(很基本)最近搞迷了!

smallpigqq 2006-10-25 11:09:43
//以下提到的“n,a,b”等变量前边已经定义
1, for(i=0;i<n;i++)
if(条件){..........}
if(条件){.........}
return 0;
int a=33; ................

问一下那个for循环的控制范围到那里?怎么理解比较好理解

2, while(t!=...){
for(..........)
if(...){...........}//if
a=b;
if(...) b=c;
else break;
}//while
这个for循环的控制范围到那里?
3 还有多重循环 像 for(......){
a=b;
for(......){
b=c;
for(.....){
............}
}
} 有没有好的理解方法可以很快辨别这个结构(从整体上)
...全文
444 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yeqcai 2006-10-30
  • 打赏
  • 举报
回复
顶一下
zhzy010 2006-10-28
  • 打赏
  • 举报
回复
保险起见,加{}啊
wujianwei2006 2006-10-27
  • 打赏
  • 举报
回复
呵呵
说的我也明白了
lann64 2006-10-26
  • 打赏
  • 举报
回复
如果是这样的形式: for(......)
if(..)
a=b;
else if (...)
b=c;
else if (...)
c=d;//当然是到这里了。
WLOVEG 2006-10-26
  • 打赏
  • 举报
回复
for的范围:如果for语句后有{........},范围就是括号内。否则,范围就是紧跟for语句后面的那一语句。举例:
for(......) for(...)
{ for(...)
for(.....) if(...)
{ a=b;
else if(...)
if(...) a=c;
a=b;
else if(...)
a=c;
}
}
左右两个例子是一样的。
David_Jiang 2006-10-26
  • 打赏
  • 举报
回复
哦 大家都知道啊~~
David_Jiang 2006-10-26
  • 打赏
  • 举报
回复
关于for后面接if句的事情

我实验了一下
如果for后面接了if 然后再由else if 的话
for 是控制到else if 结束以后的

嘿嘿
a_b_c_abc8 2006-10-26
  • 打赏
  • 举报
回复
for和if,哪怕只有一句语句,也加{},就不会出现楼主的迷惑了。
飞哥 2006-10-26
  • 打赏
  • 举报
回复
路过
接分~
smallpigqq 2006-10-25
  • 打赏
  • 举报
回复
感谢楼上的朋友
如果是这样的形式: for(......)
if(..)
a=b;
else if (...)
b=c;
else if (...)
c=d;
这里的for控制到那里?
Kusk 2006-10-25
  • 打赏
  • 举报
回复
1.
for(i=0;i<n;i++)
if(条件){..........} // 控制到这里
if(条件){.........}
return 0;
int a=33; ................

2.

2, while(t!=...){
for(..........)
if(...){...........}// 控制到这里
a=b;
if(...) b=c;
else break;
}//while
这个for循环的控制范围到那里?

3.
for(......){
a=b;
for(......){
b=c;
for(.....){
............}里面的for到此
}外面的for到此
}

你可以认为,for控制的只有一条语句。但如果是if 语句,因为if与后面的语句是不可分的,与分支部
分是一个整体,所以整个if包括分支部分算是1条语句。另外,复合语句由{ }包含成为一个整体,也可以
看成“一条语句”。这样比喻是为了让你容易理解。当然,“1条语句”的概念不是严格意义的称谓。

你也可以看for (...)后面跟着是什么:
1. 如果直接是一条普通语句,则它只控制那条语句;
2. 如果直接是“{”,那么它控制范围是与它匹配的“}”;
3. 如果是直接if/for/while/do这样的东西,那么它控制到对应的if/for/while/do的控制范围。
lw1a2 2006-10-25
  • 打赏
  • 举报
回复
1.第一个if结束
2.第一个if结束
3.根据大括号的匹配

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧