下午使用switch判断是忘了在case后面加break,导致出现了bug,数据一直错误。
switch…case的规则:
- 无成功匹配,又无default子句,那么swtich语句块什么也不做
- 无成功匹配,但有default,那么swtich语句块做default语句块的事;
- 有成功匹配,没有break,那么成功匹配后,一直执行后面case语句里面的内容,直到遇到break
#include<stdio.h>
int main()
{
int n = 5;
switch (n){
case 1:
printf("1");
case 2:
printf("2");
case 5:
printf("3");
case 3:
printf("4");
break;
case 7:
printf("6");
}
}
输出结果:34
#include<stdio.h>
int main()
{
int n = 5;
switch (n){
default:
printf("1");
case 2:
printf("2");
case 3:
printf("3");
}
}
输出结果:123