最近看代码总会出现switch case中default放在语句块中间的状况,感受特别奇怪,因而作了几个实验看下default放在
语句块中间是否有影响
code
void main() { int i = 3; switch(i) { case 1: printf("case 1\n"); break; case 2: printf("case 2\n"); break; default: printf("has not found case \n"); break; case 3: printf("case 3\n"); break; } }
当i=3,执行结果"case 3"
当i=4,执行结果"has not found case"
看来default放置的位置并不会影响整个switch case语句块的判断,default老是在全部case都未匹配后才会执行。另外提醒下要注意case和default后的break语句,若是不添加break的话可能会致使一些莫名的状况。
it