C语⾔中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);
}
return0;
}
运⾏结果
可以看到结果中没有数字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);
}
return0;
}
运⾏结果
输出结果只有1和2,因为当i等于3的时候执⾏了break结束了整个循环。
三、continue到底可以⽤于switch语句中吗?
直接在Dev-C++中上代码,编译,运⾏。
#include<stdio.h>
int main()
{
int a=1;
switch(a)
{
case1:
printf("111");
continue;
case2:
switch的用法c语言printf("222");
default:
continue;
}
return0;
}
运⾏结果报错,说明此时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)
{
case1:
printf("111\n");
continue;
case2:
printf("222\n");
default:
continue;
}
}
return0;
}
【运⾏结果】
那么到底是什么原因呢?
我们⼤多数⼈在switch中直接使⽤continue发⽣错误后,就下定结论continue⽆法在switch中使⽤的法是错误的。
通过百度百科和查询其他资料得知原来switch是属于判断选择代码,是⽤于控制流程流转,⽽⽆法像for、do…while、while⼀样实现循环。所以在switch中⽆法使⽤continue实现结束。
但是当外⾯有循环语句时可以⽤循环语句的特性来结束该case。感谢“⼩笨孩521”留⾔指出该问题。
本⼈承诺以上⽂章为本⼈编写,绝⾮复制粘贴。写在这⾥⼀是为了防⽌以后⾃⼰将知识点遗忘,⼆是为了和⼤家分享我⾃⼰对这个知识点的理解和认识。如果我的⽂章中有错误希望看到后可以指正,感激不尽!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论