当前位置: 代码迷 >> C语言 >> 还是个小问题 大家帮想想
  详细解决方案

还是个小问题 大家帮想想

热度:250   发布时间:2004-10-04 09:48:00.0
还是个小问题 大家帮想想

有2个for 循环:

for(int i=2;i<=n;i++) for(int j=2;j<=i;j++) if(i/j*j==i) break ;

这里的break;是跳出第一个循环还不跳出第二个循环?


----------------解决方案--------------------------------------------------------

在循环嵌套的情况下,break只能跳出(或终止)它所在的循环,而不能同时跳出(或终止)多层循环。

例:for(…)

for(…)

{…

break;

}

}

其中break只能从内层的for循环体跳到外层的for循环体中,而不能同时跳出两层循环体。

这里应该是第二个吧


----------------解决方案--------------------------------------------------------

这个break的目的何在?

if语句是个恒假式嘛!

for(int i=2;i<=n;i++) for(int j=2;j<=i;j++) if(i/j*j==i) 在我所学到的数字里面好象还没有可以满足这个条件的吧?


----------------解决方案--------------------------------------------------------

是吗


----------------解决方案--------------------------------------------------------
以下是引用diwang0001在2004-10-04 10:37:00的发言:

这个break的目的何在?

if语句是个恒假式嘛!

for(int i=2;i<=n;i++) for(int j=2;j<=i;j++) if(i/j*j==i) 在我所学到的数字里面好象还没有可以满足这个条件的吧?

这个就是为了判断i是否是素数 所建的循环;


----------------解决方案--------------------------------------------------------

一个break只能跳出最内层循环.

不过这个是用来求素数的程序?好象不太有必要嘛.


----------------解决方案--------------------------------------------------------
嗯!
----------------解决方案--------------------------------------------------------

最是第二个


----------------解决方案--------------------------------------------------------
  相关解决方案