在switchcase语句中能否使⽤continue关键字?为什么?
⽏庸置疑,在switch case 语句中不能使⽤continue 关键字。continue语句的作⽤是跳出本次循环,转⼊执⾏下⼀次循环。故
⽽,continue语句只能⽤于循环语句中,⽽switch case语句为多分⽀选择语句,不是循环语句,所以在switch case 语句中是不能使⽤continue 关键字的(除⾮把continue关键字放在循环语句中)。可以通过下⾯的例⼦简单验证:
源程序####
#include<stdio.h>
#include<math.h>
int main()
{
int score = 0;
printf("请输⼊学⽣成绩:\n");
scanf("%d", &score);
switch ((score / 10))
{
case 9:
printf("优秀\n");
break;
case 8:
printf("成绩等级为:良好\n");
break;
case 7:
/
/continue;
case 6:
printf("成绩等级为:及格\n");
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
printf("成绩等级为:不及格\n");
break;
default:
printf("输⼊成绩有误!\n");
}
return  0;
}
这是我们在刚开始接触C语⾔的时候都遇到过的例⼦,从键盘输⼊⼀个学⽣成绩,判断输出相应等级,当我们在代码中加⼊continue关键字时,如果能够使⽤,则我们期望它跳过case6后⾯的语句。但事与愿违,程序编译会报错。提⽰:⾮法continue,continue只能在循环中使⽤。这也进⼀步验证在switch case语句中不能使⽤continue关键字。
但是当我们把switch case 语句加⼊⼀个循环中时,使⽤continue语句可以编译通过,但是我们对循环的控制⼜不好处理,在循环中使⽤switch case语句⽐较少见,所以个⼈觉得,在switch case 语句中最好不要出现continue关键字。
continue是我们在写代码时使⽤⽐较多的关键字,使⽤continue关键字时需要注意⼀下⼏点:
① continue的作⽤是结束本次循环,即跳过循环体中下⾯尚未执⾏的部分,接着进⾏下⼀次是否执⾏循环的判定,⽤来加速循环;
switch case判断字符串
② continue语句只结束本次循环,⽽不是终⽌整个循环的执⾏;
③ 在while循环内部的continue关键字会使程序直接到循环判断条件部分。即:本次循环中continue后⾯的代码不会再执⾏,⽽是直接跳到while语句的判断部分,进⾏下⼀次循环的⼊⼝判断。
④ 在for循环中,continue跳出循环后来到循环变量的调整部分,例如:执⾏ i++表达式。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。