问题描述
- continue 和break语句的区别
-
main()
{
int k = 4, n;
for (n = 0; n < k; n++)
{
if (n % 2 == 0) break;
k--;
}
printf("k = %d
, n = %d
", 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
解决方案二:
continue结束本次执行下一次没有跳出循环,break跳出循环
解决方案三:
摘自:http://blog.sina.com.cn/s/blog_428ee6c10100cbjv.htmlcontinue1、结束本次循环,继续下次循环,并且进行条件判断;2、不可作用于switch语句。当在switch中使用,这个continue实际是作用于其所属的循环结构......
答案就在这里:continue和break语句的区别
----------------------
解决方案四:
break是结束整个循环体,continue是结束单次循环
解决方案五:
continue继续下一个循环,break跳出for循环
解决方案六:
break 跳出整个for循环,执行下面的语句;continue 结束本次循环
解决方案七:
continue和break正好是相反的,在你这段代码中如果运行到break,那么跳出for循环,如果是contine,则跳入当前for循环n的n+1次循环,使用continue和break的限制条件是:只能在for ,while中使用
解决方案八:
continue语句只结束本次循环,而不是终止整个循环的执行。
break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。
解决方案九:
continue是结束本次循环,进入下一次循环
break是结束循环
解决方案十:
可以看我的一篇博客说了break和continue的区别
break和continue