for (; i <= 5; i++)
if (i == 7) printf("%d", i);
while (i <= 5) {
if (i == 7) {
printf("%d", i);
}
i++;
}
// 循環體完整執行 6 次 (i=0..5 或初始值..5)
// if 內部語句 0 次執行
| 誤區代碼 | 實際行為 |
|---|---|
if (cond) break; | 滿足條件時跳出循環 |
if (cond) continue; | 滿足條件時跳過本次剩餘,進入下一次迭代 |
if (cond) return; | 滿足條件時退出函數 |
if (cond) stmt; | 僅控制 stmt 執行與否,不影響循環 |
if (cond) { ... } 避免歧義if 語句在循環中只是「條件執行塊」,條件不滿足時直接執行循環下一次迭代,不會自動跳出循環。理解這一點是掌握 C 語言控制流的基礎。