一般形式:
switch(表达式){
case 常量表达式1: 语句1;
case 常量表达式2: 语句2;
…
case 常量表达式n: 语句n;
default: 语句n+1;
}
意思是先计算表达式的值,再逐个和case 后的常量表达式比较,若不等则继续往下比较,若一直不等,则执行default后的语句;
swicth 语句中的default 的位置对程序是没有影响的,因为swicth 语句中会把case语句先执行完再执行default;程序总是执行到break 才会跳出
分析这个程序,n 进入switch 时值为8,但switch 的case取决于switch()中的表达式的值,因此,此时表达式的值仍为9,但没有这种情况,因此,执行 default 并且n 的值又变回9。此时n-- 的值为8,执行case 7.