概述
背景交代:continue和break虽然都可以用于表结束循环,但是二者还是用很大的区别。今天下午突发奇想那么continue可以用于switch中吗,俗话说的好实践是检验真理的唯一标准,说干就干。这里先梳理一下二者的区别,知道二者的区别直接看第三部分。
- 一、continue
- 二、break
- 三、continue到底可以用于switch语句中吗?
- 那么到底是什么原因呢?
一、continue
continue是表示结束本次循环,继续执行下一次循环为了方便理解举个代码看一下(为了记忆和理解continue暂时不直接在switch中使用)
#include <stdio.h>
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 <stdio.h>
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 <stdio.h>
int main()
{
int a=1;
switch(a)
{
case 1:
printf("111");
continue;
case 2:
printf("222");
default:
continue;
}
return 0;
}
运行结果报错,说明此时continue无法使用于switch中
但是这并不能说明continue不能用于switch语句中。当我们在该switch外加上for循环语句的时候continue可以在switch中出现。代码如下:
#include <stdio.h>
int main()
{
int a=1, i;
for(i=0;i<10;i++)
{
switch(a)
{
case 1:
printf("111n");
continue;
case 2:
printf("222n");
default:
continue;
}
}
return 0;
}
【运行结果】
那么到底是什么原因呢?
我们大多数人在switch中直接使用continue发生错误后,就下定结论continue无法在switch中使用的法是错误的。
通过百度百科和查询其他资料得知原来switch是属于判断选择代码,是用于控制流程流转,而无法像for、do…while、while一样实现循环。所以在switch中无法使用continue实现结束。
但是当外面有循环语句时可以用循环语句的特性来结束该case。感谢“小笨孩521”留言指出该问题。
本人承诺以上文章为本人编写,绝非复制粘贴。写在这里一是为了防止以后自己将知识点遗忘,二是为了和大家分享我自己对这个知识点的理解和认识。如果我的文章中有错误希望看到后可以指正,感激不尽!
最后
以上就是傲娇往事为你收集整理的C语言中continue可以用于switch语句中吗?一、continue二、break三、continue到底可以用于switch语句中吗?那么到底是什么原因呢?的全部内容,希望文章能够帮你解决C语言中continue可以用于switch语句中吗?一、continue二、break三、continue到底可以用于switch语句中吗?那么到底是什么原因呢?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复