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

有点仔细,我这样想对吗?感谢耐心查看

运行父循环m=2,m<=50(真)所以执行代码块;

即执行子循环for(n=2;n<m;n++),n=2,n<=m(假),所以直接停止循环,但还是要执行代码块if(m%n == 0),此时为2%2==0(真),y又因为break所以跳出字循环接着运行父循环代码块接下的项:

if(m==n),此时2==2(真),所以输出2,此时运行父循环表达式3即m++,到此第一次循环结束。

第二次循环:略~,到子循环阶段,由于n<m(真),所以执行子循环的代码块if(3%2==0),此为(假),接着执行子循环的表达式3即n++,此时n<m即3<3(假),停止循环但还是执行子循环的代码块if(3%3==0),此为(真)且因break所以跳出子循环执行父循环剩下的项,if(m==n)

,此为(真),所以输出3,再执行父循环表达式3即m++,到此第二次循环结束。

第三次循环同上,子循环中n<m(真),执行代码块if(4%2==0)为(真)且因break,所以推出子循环执行父循环剩下项if(m==n)为(假),因此不输出m,执行m++,到此第三次循环结束。

第四次循环同上,子循环中n<m(真),执行代码块if(5%2==0)为(假),执行表达式3即n++,回到n<m即3<5(真),所以执行代码块if(5%3==0)为(假),同上。

直到n<m即5<5(假),所以子循环停止循环但依然执行代码块if(5%5==0)为(真)且因break所以跳出子循环之心父循环代码块的剩下项fi(m==n)为(真),所以输出5,执行表达式m++,到此第四次循环结束。

好了,以后的都同上,我这样的思路对吗?谢谢耐心查看。




正在回答

2 回答

不对,子循环第一项判断为假的话就会直接跳过去,不执行此循环,n的值也不会增加,直接跳到if语句进行判断输出之后跳出子循环,开始第二次父循环

0 回复 有任何疑惑可以回复我~

我就问一下,你能把你的原代码打出来吗

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

有点仔细,我这样想对吗?感谢耐心查看

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信