#include <stdio.h>
#include <stdlib.h>
main()
{
int a ;
printf("请输入a的值");
scanf("%d",&a);
switch(a){
case 1: a=111;
case 2: a=222;
default:a=333;
}
printf("a=%d",a);
}
无论输入什么 打印的都是333
可见 在没有break的时候 无论是case1 还是case2 都会从上而下 运行完全部语句
#include <stdio.h>
#include <stdlib.h>
main()
{
int a ;
printf("请输入a的值");
scanf("%d",&a);
switch(a){
default:a=333;
case 1: a=111;
case 2: a=222;
}
printf("a=%d",a);
}
此时 无论输入都是什么
打印的都是222
#include <stdio.h>
#include <stdlib.h>
main()
{
int a ;
printf("请输入a的值");
scanf("%d",&a);
switch(a){
default:a=333;break;
case 1: a=111;break;
case 2: a=222;break;
}
printf("a=%d",a);
}
子句后加break; 就不会往下执行
#include <stdio.h>
#include <stdlib.h>
main()
{
int a ;
printf("请输入a的值");
scanf("%d",&a);
switch(a){
case 1: a=111;
case 2: a=222;
}
printf("a=%d",a);
}
没有default的情况
没有匹配上case 直接结束switch语句