1、 null
2、 C语言中,switch 语句的作用是将某个表达式的值与若干个 case 标签逐一比对。程序自上而下依次检查该表达式是否等于某一个 case 后的常量值;一旦匹配成功,即开始执行其后的语句块;若所有 case 均未匹配,则可选择性地执行 default 分支(如果存在)。
3、 switch 语句中控制表达式的类型必须为整型(如 int、short、long 等)或枚举类型(enum),不支持浮点类型(如 float、double)。原因在于:浮点数在内存中以近似方式存储,存在固有精度误差,无法确保严格相等判断的可靠性,而 switch 要求条件值与各 case 常量之间必须精确一致,因此编译器禁止使用浮点类型作为 switch 的判断依据。
4、 switch 结构中可以包含任意数量的 case 分支,也允许完全不设置任何 case。每个 case 后的值需以冒号 : 与后续语句分隔,且该值必须是编译期可确定的整型常量,或能求值得到整型结果的常量表达式;若使用变量、函数调用或其他非常量表达式,将导致编译失败。

5、 参考资料扩展
6、 switch 语句使用规范与细节说明
7、 switch 仅适用于整型基本类型,包括 int、char、short、long 及其带符号/无符号变体,以及枚举类型;对于字符串、结构体、指针、浮点数等其他类型,必须借助 if-else 链完成多分支逻辑处理。
8、 switch 的判断参数不可为浮点类型,仅接受整型和字符型(char 本质属于小整型)。
9、 case 标签后只能跟常量表达式,例如 42、'A'、0x1F 或由宏定义展开的整型常量,不允许使用变量、数组元素、函数返回值等运行时才能确定的值。
10、 所有 case 标签所对应的常量表达式必须互不相同;若出现重复值,编译器将报错,拒绝生成可执行代码。
11、 switch 是 C 语言的关键字,专用于实现基于单一表达式值的多路分支跳转,根据该表达式的计算结果,定位并执行匹配的代码段。










