C语言中break的用法!

把100―200之间的的全部素数数输出来。
# include "math.h"
main()
{ int m,k,r,n=0;
for(m=101;m<=200;m=m+2;)
{if(n%10)printf(
"\n");
k=sqrt(m);
for(r=2;r<=1;r++)
if(m%r) break;
if(r>=k+1) {printf(
"%d ",m);n=n+1;}
}
}
breakcontinue的区别是:

continue值结束本次循环,而不是中止整个循环的执行.而break语句则是结束整个循环过程,不再判断循环条件是否成立.

lunzi   2005-03-01 23:51:12 评论:13   阅读:26575   引用:0
无题 @2012-06-06 16:30:52  
多一个;呵呵
无题 @2010-11-17 16:06:51  
真的有错误额!!!!!
关于break @2008-12-13 12:23:44  shaoguangleo
break跳出最近的循环体
如果是过个循环体,要跳出可以使用goto
但是,goto有bug,很少用~
Test Pass @2008-12-13 12:22:10  shaoguangleo
Fibonacci Sequence:

void main()

{
int i,j,m,n;
m=0;
for(i=101;i<=200;i++)
{
n=sqrt(i+1);
for(j=2;j<=n;j++)
if(i%j==0)
break;
// else
if(i%j!=0)
printf("%5d",i);
m++;

}

printf("the total prime number are %d",m);

}
d @2008-06-08 12:34:54  wu
   当然是跳出break所在的那个循环了。
@2007-12-26 16:40:19  lunzi
是跳出第二个for循环
break的迷惑 @2007-12-24 22:07:02  菜鸟
/*1*/ for()
        {
/*2*/     for()
           {
              ...
              break;
           }
         }
这样的用法,是跳出第一个for循环还只是跳出第二个而已??望各位高手解答~~先谢谢了~~
@2007-03-07 16:10:26  游客
如果for语句中有内外两层循环,用break语句全部可以中止吗?
@2007-01-10 18:12:36  lunzi
是有错,今天有时间仔细看了一下,应该为:

# include
"math.h"
main()
{ int m,k,r,n=0;
for(m=101;m<=200;m=m+2;)
{
   if(n%10==0)printf(
"\n");
   k=sqrt(m);
   for(r=2;r<m-1;r++)
   if(m%r==0) break;
   if(r>=k+1) {printf(
"%d ",m);n=n+1;}
}
}

没测试,有兴趣的可以试一下.谢谢各位提醒!!!
@2007-01-07 20:49:27  游客
r=2;r<=1;r++  ???
方法 @2006-12-07 11:20:11  精灵法
第二个for 循环的循环条件有问题,还有两个for循环里面的if判断也不完整.
to: bian zou bian xu @2006-12-03 14:11:29  lunzi
刚学c的时候用过的学习代码,记的当时测过了,好长时间都不接触c了,现在工作忙,没时间测试了,能否告之错在何处?写个解决方案,也便于他人学习,本人不盛感激!
@2006-12-02 13:06:30  bian zou bian xu
有一点点错误哦!!!

发表评论>>

署名发表(评论可管理,不必输入下面的姓名)

姓名:

主题:

内容: 最少15个,最长1000个字符

验证码: (如不清楚,请刷新)

Copyright@2004-2010 powered by YuLog