背景交代:continue和break虽然都可以用于表结束循环,但是二者还是用很大的区别。今天下午突发奇想那么continue可以用于switch中吗,俗话说的好实践是检验真理的唯一标准,说干就干。这里先梳理一下二者的区别,知道二者的区别直接看第三部分。
一、continue
continue是表示结束本次循环,继续执行下一次循环为了方便理解举个代码看一下(为了记忆和理解continue暂时不直接在switch中使用)
#include
int main()
{
int i;
for(i=1;i<10;i++)
{
if(i==3) continue;
printf("%d",i);
}
return 0;
}
运行结果
可以看到结果中没有数字3,是因为当i等于3的时候执行了continue所以结束了当次循环,继续下一个循环
二、break
break是表示直接结束循环执行后面的代码(为了记忆和理解采用和执行continue相同的代码)
#include
int main()
{
int i;
for(i=1;i<10;i++)
{
if(i==3) break;
printf("%d",i);
}
return 0;
}
运行结果
输出结果只有1和2,因为当i等于3的时候执行了break结束了整个循环。
三、continue到底可以用于switch语句中吗?
直接在Dev-C++中上代码,编译,运行。
#include
int main()
{
int a=1;
switch(a)
{
case 1:
printf("111");
continue;
case 2:
printf("222");
default:
continue;
}
return 0;
}
果然出问题了,事实证明continue是不能用于switch中的
那么到底是为什么呢?
通过百度百科和查询其他资料得知原来switch是属于判断选择代码,是用于控制流程流转,而无法像for、do…while、while一样实现循环。所以在switch中无法使用continue实现结束。
----------------------------------分割线----------------------------------
本人承诺以上文章为本人编写,绝非复制粘贴。写在这里一是为了防止以后自己将知识点遗忘,二是为了和大家分享我自己对这个知识点的理解和认识。如果我的文章中有错误希望看到后可以指正,感激不尽!