无论 default 位置在前在后,都是先判断 各个case, 最后进 default。
无论 进入某个 case 或 default,程序要 执行到 break,或开关的结束 才终止。 例如:int c=0,k; k=1; switch (k) { case 1:c+=k;// 满足 case 1 进入条件,但这 行 没遇到 break case 2:c++; break; // 于是 还要 走过 case 2: c++;直到遇break; case 4: c+=2;break; }
例如:
int c=0,k; k=1; switch (k) { default: c+=k;// 不满足 case 2,4 于是 进入,default, 但这 行 没遇到 break case 2: c++;break;// 于是 还要 走过 case 2: c++;直到遇break; case 4: c+=2;break; }
所以开关语句里的 break 是很重要的。而 case/default 的次序是次要的。