在使用switch语句时,每个case后面都应该加上break语句。这是因为如果没有break语句,程序会继续执行下一个case的代码,而不会跳出switch语句。这种情况下,即使后面的case条件不满足,对应的代码也会被执行。
如:
#include
int main(){
int student = 10;
// 使用switch语句判断学生人数
switch(student){
case 10:
printf("学生人数为10人");
break;
case 20:
printf("学生人数为20人");
break;
default:
printf("学生人数未知");
break;
}
}
在上述例子中,疑点是关于student=10时为什么还会执行case 20的代码。这是因为在switch语句中,每个case都是按顺序进行匹配的。
当student=10时,首先会执行case 10的代码,然后由于没有break语句,程序会继续执行下一个case,即case 20的代码。所以最终会输出"学生人数为10人"和"学生人数为20"。
为了避免这种情况的发生,我们需要在每个case的代码块末尾加上break语句,以确保在匹配到一个case后,程序会跳出switch语句,不再执行后续的case代码。