本帖最后由 sunjd 于 2025-10-24 10:18 编辑
如果保持原有逻辑可以换成goto
switch(var)
{
case 0:
// case 0代码
break;
case 1:
// case 1代码
if(xx)
{
// if块内代码
goto case_2; // 跳转到case 2
}
break;
case 2:
case_2:
// case 2代码
break;
case 3:
// case 3代码
break;
}
如果重构逻辑推荐使用
switch(var)
{
case 0:
// case 0代码
break;
case 1:
// case 1代码
if(xx)
{
// if块内代码
execute_case2_logic(); // 提取为函数
}
break;
case 2:
execute_case2_logic();
break;
case 3:
// case 3代码
break;
}
// 提取的公共函数
void execute_case2_logic(void)
{
// case 2的代码逻辑
}
|