开发者社区 问答 正文

continue 和break语句的区别

main()
{
int k = 4, n;
for (n = 0; n < k; n++)
{
if (n % 2 == 0) break;
k--;
}
printf("k = %dn, n = %dn", k, n);
system("pause");
}
求大神指教
使用break输出k =4 ,n = 0;;;;使用continue输出 k=3,n=3

展开
收起
a123456678 2016-03-23 14:33:30 2364 分享 版权
1 条回答
写回答
取消 提交回答
  • 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

    2019-07-17 19:11:01
    赞同 展开评论
问答分类:
问答地址: