我正在查看某人的 C 代码,发现了一些我什至不知道的可能。在某些情况下,修改了 switch 变量,目的是在中断后执行另一个情况。
该开关位于中断处理程序中,因此会被重复调用。
switch (variable)
{
case 1:
some_code();
variable = 3;
break;
case 2:
more_code();
variable = 5;
break;
case 3:
more_code();
variable = 5;
break;
case 4:
my_code();
break;
case 5:
final_code();
break;
}
该代码似乎按作者的意图工作。
这是 C 中的保证行为吗?我一直认为 break 语句会导致执行直接跳转到 switch 语句之后。我没想到它会继续测试其他所有案例。