課程
/后端開發
/C
/C語言入門
請問下,為什么會輸出2???不應該最低輸出3嗎?2被++后不就成為3了嗎?
2018-10-12
源自:C語言入門 4-14
正在回答
那是因為在m循環要先要執行完畢下面的所有執行代碼才會返回表達式3,自增1,這也包括了n循環和輸出語句。而n循環中是要求n<m,n一次都沒有循環,也無法自增1。跳出循環執行輸出語句,這樣2就輸出出來了
#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; ? ?
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
1 回答關于%的問題
2 回答關于/的問題
4 回答關于int的問題
2 回答關于Dev的問題。
2 回答關于cirf的問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-10-13
那是因為在m循環要先要執行完畢下面的所有執行代碼才會返回表達式3,自增1,這也包括了n循環和輸出語句。而n循環中是要求n<m,n一次都沒有循環,也無法自增1。跳出循環執行輸出語句,這樣2就輸出出來了
2018-10-12
#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; ? ?
}