【悟空云课堂】第八期:switch中缺少default导致的代码缺陷(CWE-478: Missing Default Case in Switch Statement) 什么是switch中缺少default而导致的代码缺陷? switch用在编程中,如C语言中它经常跟case一起使用,是一个判断选择逻辑结构。其功能就是控制流程流转。switch语句的语法如下(switch,case,break和default是关键...
default 作为英文单词是“默认,缺省”的意思,而作为 C 语言关键字其功能意义就是对应默认情况。C 语言编程中, default 关键字通常用于 switch 结构中,用于对结构中 case 语句未覆盖的情况进行兜底;并且,default 关键字只能在 switch 结构中使用。如果在 switch 结构外使用 default 关键字,那么编译器不会通过,...
②在一些情况下,default应该作为检查无效输入的情况,而不应该作为一个表示假定的选项。 5、Switch中缺少default导致的漏洞样例: 用悟空静态代码检测工具分析上述程序代码,则可以发现代码中存在着case语句中没有default 语句的缺陷,如下图: switch中缺少default在CWE中被编号为CWE-478: Missing Default Case inSwitch Sta...
public class SwitchDemo { public static void main(String[] args) { //创建键盘录入对象 Scanner sc = new Scanner(System.in); //控制键盘录入数据 System.out.println("请输入一个数据(1-7):"); int week = sc.nextInt(); //3 //switch判断语句 switch(week) { case 1: System.out.println("...
1.switch选择结构: 语法: switch (key) { case value: break; case value: break; case value: break; default: break; } 根据key去匹配value的值,如果value的值跟key相同则走case块中的代码,然后执行完毕后结束,如果所有case块都不匹配则会走default ...
③break,可以使用在switch-case结构中,表示一旦执行此关键字,就跳出switch-case结构。 ④switch结构中的表达式,只能是如下6种数据类型之一:byte 、short、char、int、枚举类型(jdk5.0新增)、String类型(jdk7.0新增)。 ⑤case后只能声明常量,不可以是范围。
Scanner sc=newScanner(System.in); System.out.print("请在键盘输入 吃面的编号");intmy_num=sc.nextInt();//键盘接收输入的值放到my_num中switch(my_num){case1: System.out.print("老北京炸酱面");break;case2: System.out.print("陕西油泼面");break;case3: ...
1.switch中default的用法 default什么时候会执行?default的位置对执行结果有影响吗?default只有在case匹配失败的时候才会执行... 2.Java 开关语句switch中default的使用解析 在学习《Thinking in java》7.2.2中看到一个开关语句中default的用法很奇怪,所以就决定研究一下这个骚操作。原文代码如下…… 3.java...
冒号,用成中文输入法里的冒号了,改成英文里的冒号 仔细
You attempted to use the default statement more than once within a switch statement. The default case is always the last case statement in a switch statement (it is the fall-through case). To correct this error Remove any extra default case statements from your switch statemen...