有點(diǎn)仔細(xì),我這樣想對(duì)嗎?感謝耐心查看
運(yùn)行父循環(huán)m=2,m<=50(真)所以執(zhí)行代碼塊;
即執(zhí)行子循環(huán)for(n=2;n<m;n++),n=2,n<=m(假),所以直接停止循環(huán),但還是要執(zhí)行代碼塊if(m%n == 0),此時(shí)為2%2==0(真),y又因?yàn)閎reak所以跳出字循環(huán)接著運(yùn)行父循環(huán)代碼塊接下的項(xiàng):
if(m==n),此時(shí)2==2(真),所以輸出2,此時(shí)運(yùn)行父循環(huán)表達(dá)式3即m++,到此第一次循環(huán)結(jié)束。
第二次循環(huán):略~,到子循環(huán)階段,由于n<m(真),所以執(zhí)行子循環(huán)的代碼塊if(3%2==0),此為(假),接著執(zhí)行子循環(huán)的表達(dá)式3即n++,此時(shí)n<m即3<3(假),停止循環(huán)但還是執(zhí)行子循環(huán)的代碼塊if(3%3==0),此為(真)且因break所以跳出子循環(huán)執(zhí)行父循環(huán)剩下的項(xiàng),if(m==n)
,此為(真),所以輸出3,再執(zhí)行父循環(huán)表達(dá)式3即m++,到此第二次循環(huán)結(jié)束。
第三次循環(huán)同上,子循環(huán)中n<m(真),執(zhí)行代碼塊if(4%2==0)為(真)且因break,所以推出子循環(huán)執(zhí)行父循環(huán)剩下項(xiàng)if(m==n)為(假),因此不輸出m,執(zhí)行m++,到此第三次循環(huán)結(jié)束。
第四次循環(huán)同上,子循環(huán)中n<m(真),執(zhí)行代碼塊if(5%2==0)為(假),執(zhí)行表達(dá)式3即n++,回到n<m即3<5(真),所以執(zhí)行代碼塊if(5%3==0)為(假),同上。
直到n<m即5<5(假),所以子循環(huán)停止循環(huán)但依然執(zhí)行代碼塊if(5%5==0)為(真)且因break所以跳出子循環(huán)之心父循環(huán)代碼塊的剩下項(xiàng)fi(m==n)為(真),所以輸出5,執(zhí)行表達(dá)式m++,到此第四次循環(huán)結(jié)束。
好了,以后的都同上,我這樣的思路對(duì)嗎?謝謝耐心查看。
2016-09-11
不對(duì),子循環(huán)第一項(xiàng)判斷為假的話(huà)就會(huì)直接跳過(guò)去,不執(zhí)行此循環(huán),n的值也不會(huì)增加,直接跳到if語(yǔ)句進(jìn)行判斷輸出之后跳出子循環(huán),開(kāi)始第二次父循環(huán)
2016-05-29
我就問(wèn)一下,你能把你的原代碼打出來(lái)嗎