有點仔細,我這樣想對嗎?感謝耐心查看
運行父循環(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),此時為2%2==0(真),y又因為break所以跳出字循環(huán)接著運行父循環(huán)代碼塊接下的項:
if(m==n),此時2==2(真),所以輸出2,此時運行父循環(huán)表達式3即m++,到此第一次循環(huán)結束。
第二次循環(huán):略~,到子循環(huán)階段,由于n<m(真),所以執(zhí)行子循環(huán)的代碼塊if(3%2==0),此為(假),接著執(zhí)行子循環(huán)的表達式3即n++,此時n<m即3<3(假),停止循環(huán)但還是執(zhí)行子循環(huán)的代碼塊if(3%3==0),此為(真)且因break所以跳出子循環(huán)執(zhí)行父循環(huán)剩下的項,if(m==n)
,此為(真),所以輸出3,再執(zhí)行父循環(huán)表達式3即m++,到此第二次循環(huán)結束。
第三次循環(huán)同上,子循環(huán)中n<m(真),執(zhí)行代碼塊if(4%2==0)為(真)且因break,所以推出子循環(huán)執(zhí)行父循環(huán)剩下項if(m==n)為(假),因此不輸出m,執(zhí)行m++,到此第三次循環(huán)結束。
第四次循環(huán)同上,子循環(huán)中n<m(真),執(zhí)行代碼塊if(5%2==0)為(假),執(zhí)行表達式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)代碼塊的剩下項fi(m==n)為(真),所以輸出5,執(zhí)行表達式m++,到此第四次循環(huán)結束。
好了,以后的都同上,我這樣的思路對嗎?謝謝耐心查看。
2016-09-11
不對,子循環(huán)第一項判斷為假的話就會直接跳過去,不執(zhí)行此循環(huán),n的值也不會增加,直接跳到if語句進行判斷輸出之后跳出子循環(huán),開始第二次父循環(huán)
2016-05-29
我就問一下,你能把你的原代碼打出來嗎