TC官方合作论坛

 找回密码
 立即注册
查看: 4179|回复: 15

[已解决] 关于多层嵌套循环结构的跳出,你不纠结?为什么没有goto 命令呢?

[复制链接]
发表于 2012-8-10 06:33:37 | 显示全部楼层 |阅读模式

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

发表于 2012-8-10 07:58:04 | 显示全部楼层
回复 3楼carewa的帖子

我觉得是你没理解他的意思,我的理解是,他让你在外面的两层也加上判断,如果最里面的跳出了,外面的两个判断也会根据这个跳出而进行跳出操作.不是说一个跳出,实现3层的跳出.是3个同样的,或者根据你的安排实行跳出.
第二,论坛里讨论问题,你发出来了,别人解答,是有可能不对,你怎么说你浪费别人时间,你让别人来思考,不也是一个道理么,换位思考,将心比心,大家都是想为你解决问题的.
第三,我用一个不用goto的方法来解决这个跳出.把这个代码写到功能里面,用到了,就调用,想直接跳出最里面的循环,加上判断,如果判断成功就return.想在那里跳出就在那里return.
回复 支持 反对

使用道具 举报

发表于 2012-8-10 07:21:11 | 显示全部楼层


你想在跳出最里面的循环体后,同时跳出外面两层的话.你可以分别在A,B语句前也加上
第三层的
if(跳出条件)
break
endif
不用变量去控制

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-10 07:40:05 | 显示全部楼层
你想在跳出最里面的循环体后,同时跳出外面两层的话.你可以分别在A,B语句前也加上
第三层的
if(跳出条件)
break
endif
不用变量去控制

梦里只影向你 发表于 2012-8-10 7:21:11

不懂装懂
你自己运行下看看是什么结果,真服了你了.break只能跳出当前层循环好吧?那两个变量目的是为了跳出外层循环.最烦你这样的,害我又特意试了一下,浪费 时间

while(a<20)
   a=a+1

while(b<4)
            b=b+1
            if(b==3)
                break
            endif
        endwhile
        help.messagebox("a")
endwhile

回复 支持 反对

使用道具 举报

发表于 2012-8-10 07:50:04 | 显示全部楼层
回复 3楼carewa的帖子

到底谁没理解谁???我的意思你看明白了???
就是因为break只能跳出当前层,所以你想最里面层跳出后不去执行外面两层的循环了,直接跳出去,所以我说的是,你要一层一层的去break!!!!!!!!!!!!!!!!!!!自己看看我说的什么意思
回复 支持 反对

使用道具 举报

发表于 2012-8-10 07:57:48 | 显示全部楼层
激烈的讨论

试试每层循环都加入同一跳出条件

条件满足了,逐级跳出
回复 支持 反对

使用道具 举报

发表于 2012-8-10 07:58:44 | 显示全部楼层
这冲LZ这态度,我沉默了,我凭什么要教你tc一个循环代替循环套嵌的方法,鉴定完毕
回复 支持 反对

使用道具 举报

发表于 2012-8-10 07:59:16 | 显示全部楼层
[quote]

你想在跳出最里面的循环体后,同时跳出外面两层的话.你可以分别在A,B语句前也加上
第三层的
if(跳出条件)
break
endif
不用变量去控制

梦里只影向你 发表于 2012-8-10 7:21:11 [/......
carewa 发表于 2012-8-10 7:40:05

不懂装懂
你自己运行下看看是什么结果,真服了你了.break只能跳出当前层循环好吧?那两个变量目的是为了跳出外层循环.最烦你这样的,害我又特意试了一下,浪费 时间


是我在为你的问题浪费时间,你要搞清楚!!!!!!!!!!!!!!!!!!

自己看去



  1.    
  2. int i1=1
  3. int i2=1
  4. int i3=1


  5. while(i1<10)
  6.    
  7.     while(i2<10)
  8.         
  9.         while(i3<10)
  10.             
  11.             if(i3==3)
  12.                 break
  13.             endif
  14.             
  15.             辅助.消息框("i3循环体"+convert.inttostr(i3))
  16.             i3=i3+1
  17.         endwhile
  18.         
  19.         if(i3==3)
  20.             break
  21.         endif
  22.         
  23.         辅助.消息框("i2循环体"+convert.inttostr(i2))
  24.         i2=i2+1
  25.     endwhile
  26.     if(i3==3)
  27.         break
  28.     endif
  29.     辅助.消息框("i1循环体"+convert.inttostr(i1))
  30.     i1=i1+1
  31.    
  32. endwhile
复制代码


花自己的时间,去帮别人的问题解决提些意见,你觉得我浪费你时间,你可以不用看,ok???!!!!!!
回复 支持 反对

使用道具 举报

发表于 2012-8-10 08:06:44 | 显示全部楼层
回复 7楼lyf1314的帖子

蛋蛋兄也激动了。这之所以TC不要GOTO也能体现TC的强大 哈哈 一切知识都在于悉心倾听。
回复 支持 反对

使用道具 举报

发表于 2012-8-10 08:11:07 | 显示全部楼层
好了

大家都别愤青了

讨论问题嘛,有时候语气难免有点何必搞的那么纠结
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-6-2 02:33 , Processed in 0.047577 second(s), 24 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表