大括號問題
#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) ? //n循環結束后,如果m=n的話就輸出m
? ? ? ? ? ? printf("%d ?", m);
}
return 0; ? ?
}
這里面,在if()完后,在輸入break;的時候,為什么不用輸入 { }??
2016-08-07
如果條件為真,執行break;僅此一條語句而已,不用加語句塊符號{}
2016-08-10
如題。
m=2時,判斷m是否小于等于50.成立繼續運行。
那么問題來了。假設m=51.不符合怎么辦。
答:有大括號時。因為m初始值不符合表達式二。大括號中一律不執行。n的for循環也在大括號中,所以n的for循環也不執行。
? ? ? 無大括號時。因為m初始值不符合表達式二。程序繼續運行,到達n的for循環n小于51,循環n的for循環。