之前我试图这样:开关盒壳体
#include<stdio.h>
int main() {
int i = 2;
switch(i) {
default:{
printf("Hi\n");}
case 1:
printf("Hi1\n");
case 2:
printf("Hi2\n");
}
}
输出为 “HI2” 如预期的,然而若i = 3,
#include<stdio.h>
int main() {
int i = 3;
switch(i) {
default:{
printf("Hi\n");}
case 1:
printf("Hi1\n");
case 2:
printf("Hi2\n");
}
}
输出是 “Hi” 的 “Hi1” “Hi2”
程序如何进入其他不匹配的情况?我知道在默认情况下放置会解决这个问题。
为什么会这样? C规范中提到了这个吗?
给我一个'break',你会吗? –