main()
{
int k = 4, n;
for (n = 0; n < k; n++)
{
if (n % 2 == 0) break;
k--;
}
printf("k = %d\n, n = %d\n", k, n);
system("pause");
}
求大神指教
使用break輸出k =4 ,n = 0;;;;使用continue輸出 k=3,n=3
break結束循環;continue是結束本次循環,開始下次循環(不退出循環體,循環體的退出依然依靠條件判斷)
舉例:
當n=0時,n%2==0成立,執行break,所以會退出for循環,執行printf
將break變為continue時,當n%2==0成立,執行continue,然後k--將不再執行,直接開始下次循環(先n++,然後判斷n < k)
所以就是當n是偶數時,k將不能--,
當n=0,continue,不執行k--;
然後n=1時,k--(k=3);
n=2時,continue,
n=3,此時n < k不成立退出for
所以k=3,n=3