switch case语句块default的认识

最近看代码总会出现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

相关文章
相关标签/搜索