
| 
 | 
|  | 作者: BBL [bbl]  论坛用户 | 登录 | 
| main() { int a,b,c,d,e,sum; for(a=1;a<32;a=a+2) for(b=1;b<32;b=b+2) for(c=1;c<32;c=c+2) for(d=1;d<32;d=d+2) for(e=1;e<32;e=e+2) { sum=a+b+c+d+e; if(sum==15) { printf("%d-%d-%d-%d-%d\n",a,b,c,d,e); break; } } } 为什么break不起作用呢..我是想找出32内有哪五个数相加是等于15的,但我只须找到一组就终止循环不再找了...但为什么加了break找到一组还是不会结束循环,还是会把全部都找出来呢....请各位帮小弟看下.... | 
| 地主 发表时间: 05-09-23 22:22 | 
|  | 回复: kert_t8 [kert_t8]  论坛用户 | 登录 | 
| 你的break只break了一层循环 | 
| B1层 发表时间: 05-09-24 08:04 | 
|  | 回复: BBL [bbl]  论坛用户 | 登录 | 
| 天哪...我昨天层层break但还是显示全部...今看了楼上的兄弟试了下,真的行了...我真晕呀....谢谢你哦 | 
| B2层 发表时间: 05-09-24 21:29 | 
|  | 回复: xiaoshi [xiaoshi]  论坛用户 | 登录 | 
| 其实你只要把{} 对起了,问题也就自己看到了。 以前老师说过多遍了,自己就是不怎么注意,后来感觉是个道理。 | 
| B3层 发表时间: 05-09-25 18:02 | 
|  | 回复: BBL [bbl]  论坛用户 | 登录 | 
| 谢谢...谢谢楼上的... | 
| B4层 发表时间: 05-09-25 20:59 | 
|  | 回复: 286 [unique]  版主 | 登录 | 
| main() { int a,b,c,d,e,sum; for(a=1;a<32;a=a+2) for(b=1;b<32;b=b+2) for(c=1;c<32;c=c+2) for(d=1;d<32;d=d+2) for(e=1;e<32;e=e+2) { sum=a+b+c+d+e; if(sum==15) { printf("%d-%d-%d-%d-%d\n",a,b,c,d,e); a=b=c=d=e=32; } } } | 
| B5层 发表时间: 05-09-26 09:10 | 
|  | 回复: lida1818 [lida1818]  论坛用户 | 登录 | 
| 该用goto时为什么不用? | 
| B6层 发表时间: 05-09-27 23:46 | 
|  | 回复: 286 [unique]  版主 | 登录 | 
| 使用goto容易使看的人思维发生混乱,也不乱于模块化开发。 还有就是更多的时候,你往往不知道goto到哪里(比如两个人分别分开连续的两部分时)。 | 
| B7层 发表时间: 05-09-28 09:38 | 
|  | 回复: xiaoshi [xiaoshi]  论坛用户 | 登录 | 
| goto 来goto去的,最后来联你自己都不知道在那了,虽然比指针理解起来简单。 | 
| B8层 发表时间: 05-09-30 20:20 | 
|  | 回复: lida1818 [lida1818]  论坛用户 | 登录 | 
| CPU是给客户的用,不是给程序员用的。 个人认为象楼主这种跳出多重循环个案用goto是最好的选择。 | 
| B9层 发表时间: 05-09-30 20:40 | 
|  | 回复: bailove [bailove]  论坛用户 | 登录 | 
| 这个多层的for  这算法  可以仍掉了 | 
| B10层 发表时间: 05-10-05 22:54 | 
|  | 回复: BBL [bbl]  论坛用户 | 登录 | 
| 呵呵呵...谢谢大家的帮忙...请问你们说用goto,那改写你们写一段用goto来给俺学习学习好不好.... | 
| B11层 发表时间: 05-10-08 23:43 | 
|  | 回复: windflower [windflower]  论坛用户 | 登录 | 
| 用一个exit(0)跳出所有的循环,问题不就解决了? | 
| B12层 发表时间: 05-10-09 19:07 | 
| 
 | 
20CN网络安全小组版权所有
Copyright ©    2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon   

粤ICP备05087286号