課程
/后端開發(fā)
/C
/C語(yǔ)言入門
for循環(huán),執(zhí)行表達(dá)式1,n=2,然后表達(dá)式2,n<m,否,不就跳出循環(huán)了嗎?
2017-07-15
源自:C語(yǔ)言入門 4-14
正在回答
那如果是4了 ??
鐘阿瞞i
慕斯卡5168711
centrifugeSIW 回復(fù) 慕斯卡5168711
centrifugeSIW 回復(fù) 鐘阿瞞i
你隨便把一個(gè)數(shù)字帶入里面,比如7,第一個(gè)For循環(huán)判斷成立,進(jìn)入第二For循環(huán),此時(shí)n=2,m=7,m再這個(gè)循環(huán)里面是恒定的,成立,繼續(xù)循環(huán),接著n不斷加一,最后加到7,才判定不成立,跳出循環(huán),此時(shí)m=7,n=7,因?yàn)槿绻鹠=n就要輸出出來(lái),所以7被輸出出來(lái)了。你可以試試把其它數(shù)字帶入,m和n的值寫出來(lái),更好理解這個(gè)程序
centrifugeSIW
冷寒nn
? ? for(m=2; m<=50; m++)
? ? {
for(n=2; n<m; n++)
? ? ? ? {
? ? ? ? ? ? if(m%n==0) ? ? ? //什么條件下跳出當(dāng)前循環(huán)
? ? ? ? ? ? break; ? ? ? ? ? ? ? ? //這里應(yīng)該退出當(dāng)前循環(huán)了
}
? ? ? ? if(m == n) ? //n循環(huán)結(jié)束后,如果m=n的話就輸出m
? ? ? ? ? ? printf("%d ?", m);
這個(gè)m最開始的初始值為2然后進(jìn)入子循環(huán),發(fā)現(xiàn)不滿足n<m這個(gè)條件跳過(guò)for(n=2; n<m; n++)這個(gè)循環(huán),,滿足if(m == n)打印出來(lái)這就是第一個(gè)素?cái)?shù)2,然后m的自增1,繼續(xù)循環(huán)
舉報(bào)
C語(yǔ)言入門視頻教程,帶你進(jìn)入編程世界的必修課-C語(yǔ)言
3 回答當(dāng)m=4時(shí)的循環(huán)方式還是不明白
4 回答if(m==n)僅僅是為了判斷for(n=2;n<m;n++),從而輸出m=2的嗎?
4 回答請(qǐng)問(wèn)子循環(huán)for(n=2;n<m;n++)這個(gè)我怎么理解呢,第一次外部循環(huán)后m=2,n=2,然后n<m不成立,直接跳到了if(m==n),這句判斷輸出2了,再跳出自循環(huán),n的值為3,m的值也是3了,又重復(fù)執(zhí)行下去,到4的時(shí)候應(yīng)該把4也同樣輸出來(lái)啊,我覺(jué)得這個(gè)邏輯應(yīng)該把2到50之間所有的數(shù)都輸出來(lái),為什么自循環(huán)不是for(n=2n=m;n++)呢,我想不通??!
2 回答為啥第二個(gè)循環(huán)不是n<=m呢?
1 回答判斷條件不大明白
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2017-07-31
那如果是4了 ??
2017-07-27
你隨便把一個(gè)數(shù)字帶入里面,比如7,第一個(gè)For循環(huán)判斷成立,進(jìn)入第二For循環(huán),此時(shí)n=2,m=7,m再這個(gè)循環(huán)里面是恒定的,成立,繼續(xù)循環(huán),接著n不斷加一,最后加到7,才判定不成立,跳出循環(huán),此時(shí)m=7,n=7,因?yàn)槿绻鹠=n就要輸出出來(lái),所以7被輸出出來(lái)了。你可以試試把其它數(shù)字帶入,m和n的值寫出來(lái),更好理解這個(gè)程序
2017-07-15
? ? for(m=2; m<=50; m++)
? ? {
for(n=2; n<m; n++)
? ? ? ? {
? ? ? ? ? ? if(m%n==0) ? ? ? //什么條件下跳出當(dāng)前循環(huán)
? ? ? ? ? ? break; ? ? ? ? ? ? ? ? //這里應(yīng)該退出當(dāng)前循環(huán)了
}
? ? ? ? if(m == n) ? //n循環(huán)結(jié)束后,如果m=n的話就輸出m
? ? ? ? ? ? printf("%d ?", m);
}
這個(gè)m最開始的初始值為2然后進(jìn)入子循環(huán),發(fā)現(xiàn)不滿足n<m這個(gè)條件跳過(guò)for(n=2; n<m; n++)這個(gè)循環(huán),,滿足if(m == n)打印出來(lái)這就是第一個(gè)素?cái)?shù)2,然后m的自增1,繼續(xù)循環(huán)