在 switch 语句中,如果没有给出 break,为什么所有语句都在 true 语句之后执行?
In switch statements, why do all statements get executed after a true statement if break is not given?
在switch
/case
语句中,case
语句是为了检查条件,为什么要执行不正确的语句呢?如果未给出 break
,即使它继续执行所有情况直到程序结束,case
语句也不会检查条件。它的内部工作方式与 if
/else
语句一样吗?如果不是,那么它在内部是如何工作的?
语言:C
不,案例标签(不是声明)不检查任何条件。事实上,它根本不做任何事情(请注意如何连续处理多个案例?)并且不生成任何代码。进入开关后,执行跳转到匹配的案例。就是这样。一旦你进入街区,标签就不会做任何事情,但是 break
会让你出去。
在switch
/case
语句中,case
语句是为了检查条件,为什么要执行不正确的语句呢?如果未给出 break
,即使它继续执行所有情况直到程序结束,case
语句也不会检查条件。它的内部工作方式与 if
/else
语句一样吗?如果不是,那么它在内部是如何工作的?
语言:C
不,案例标签(不是声明)不检查任何条件。事实上,它根本不做任何事情(请注意如何连续处理多个案例?)并且不生成任何代码。进入开关后,执行跳转到匹配的案例。就是这样。一旦你进入街区,标签就不会做任何事情,但是 break
会让你出去。