use*_*316 0 c switch-statement
我在c中有以下代码:
typedef enum
{
Filter_NAME,
Filter_NAME_2,
Filter_NAME_3
} Filter;
void printInfo(int filter)
{
switch()
{
case Filter_NAME:
// code part1
case Filter_NAME_2:
// code part2
case Filter_NAME_3:
// code part3
default:
return;
}
}
void main()
{
int filter = Filter_NAME;
printInfo(filter);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我只想要code part1执行的,但code part1 code part2和code part3所有的执行,这是什么问题,如何解决?
Nem*_*ric 11
您需要break在每个case块之后添加.
void printInfo(int filter)
{
switch(filter)
{
case Filter_NAME:
// code part1
break;
case Filter_NAME_2:
// code part2
break;
case Filter_NAME_3:
// code part3
break;
default:
return;
}
}
Run Code Online (Sandbox Code Playgroud)
这将停止传播到其他case块,它将跳转到switch语句的末尾.