为了账号安全,请及时绑定邮箱和手机立即绑定

break语句跳出for循环后为什么n会加一

break语句跳出for循环后为什么n会加一

C
苦逼学习中 2017-07-23 15:24:05
#include <stdio.h> int main() {     int m, n;     for(m=2; m<=50; m++)     { for(n=2; n<m; n++)         {             if( m%n ==0 )                      break;                  }         if(m == n)                printf("%d  ", m); } return 0;     }这里当break跳出循环后为什么会出现m==n的情况   for语句里不标明了n<m的吗而且break跳出后是不会执行for语句里面的n++请大佬解答一下
查看完整描述

1 回答

已采纳
?
产品经理不是经理

TA贡献481条经验 获得超143个赞

这个是在找2到50之间的奇数。
当m=3,2<3进入循环,3%2不等于0,不会break,然后执行n++,n的值变为3。所以不会再循环。执行判断m==n,满足条件打印m。

查看完整回答
反对 回复 2017-07-23
?
qq_翼_19

TA贡献1条经验 获得超1个赞

这是寻找50以内素数的代码,有两种情况,

当m,n不相等且不是倍数关系时会一直执行第二个for循环,直到m=n,此时才判断m是素数;

当m,n不相等且存在倍数关系时会跳出第二个for循环,此时判断m=n一定不成立,即不是素数。

查看完整回答
1 反对 回复 2017-07-23
  • 1 回答
  • 0 关注
  • 2119 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信