課程
/后端開發
/C
/C語言入門
為什么把m和n的初始值改為1后,結果就變成只有1不往下循環?
2017-05-10
源自:C語言入門 4-14
正在回答
如果只把m改為1 的話是沒有影響的,但是如果你把n改為1了,任何數都可以被1整除,n的循環在1那里就符合條件直接break跳出循環了,n值不會增加,然后打印出來符合m=n的就只有1=1了。仔細看一下break條件吧
#include <stdio.h>
int main()
{
? ? int m, n;
? ? for(m=1; m<=50; m++)
? ? {
? ? ? ? for(n=1; n<=m; n++)
? ? ? ? {
? ? ? ? ? ? if( ? m%n==0? ? ) ? ? ? //什么條件下跳出當前循環
? ? ? ? ? ? ? ? break;? ? ? ? ? ? ? ? //這里應該退出當前循環了
? ? ? ? }
? ? ? ? if(m == n) ? //n循環結束后,如果m=n的話就輸出m
? ? ? ? ? ? printf("%d? ", m);
? ? }
? ? return 0; ? ?
}
m<=50
n<..
遍歷完就停下來了
1既不是質數也是合數。
慕粉0938398487 提問者
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
4 回答表達式1?表達式2:表達式3中判斷表達式1
1 回答表達式!-2的值為
1 回答省略“表達式1(循環變量賦初值)”,表示不對循環變量賦初始值什么意思
2 回答表達式2中的數值表達式有什么意義?
2 回答return語句中是否必須要有表達式
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-05-17
如果只把m改為1 的話是沒有影響的,但是如果你把n改為1了,任何數都可以被1整除,n的循環在1那里就符合條件直接break跳出循環了,n值不會增加,然后打印出來符合m=n的就只有1=1了。仔細看一下break條件吧
#include <stdio.h>
int main()
{
? ? int m, n;
? ? for(m=1; m<=50; m++)
? ? {
? ? ? ? for(n=1; n<=m; n++)
? ? ? ? {
? ? ? ? ? ? if( ? m%n==0? ? ) ? ? ? //什么條件下跳出當前循環
? ? ? ? ? ? ? ? break;? ? ? ? ? ? ? ? //這里應該退出當前循環了
? ? ? ? }
? ? ? ? if(m == n) ? //n循環結束后,如果m=n的話就輸出m
? ? ? ? ? ? printf("%d? ", m);
? ? }
? ? return 0; ? ?
}
2017-05-12
m<=50
n<..
遍歷完就停下來了
2017-05-10
1既不是質數也是合數。