#include<stdio.h>
int main()
{
char a;
a = getchar();
switch(a)
{
case 'A': printf("85~100\n");break;
case 'B': printf("70~84\n"); break;
case 'C': printf("60~69\n"); break;
case 'D': printf("<60\n"); break;
default : printf("error\n");
}
return 0;
}
结果为:
当取消掉第一个分支中的break时:
#include<stdio.h>
int main()
{
char a;
a = getchar();
switch(a)
{
case 'A': printf("85~100\n");
case 'B': printf("70~84\n"); break;
case 'C': printf("60~69\n"); break;
case 'D': printf("<60\n"); break;
default : printf("error\n");
}
return 0;
}
结果为:
case标号只起标记的作用。在执行完switch语句时,根据switch表达式的值找到匹配的入口标号, 并不在此进行条件检查, 在执行完一个case标号后面的语句后,就从此标号开始执行下去,不再进行判断。
这里的default后面没有加break是因为其已经到最后了,如果放在之前,后面也是需要加break的