在阅读代码时发现有这样的代码,即在switch语句中default是在最前面的,原以为后面的是不会执行,实际上经过代码测试:default是与放置的位置无关的,就想case语句的不同于他们的先后顺序无关一样。
switch (my_opts->value.i) {
default:
NTP_INSIST(0);
break;
case T_None:
filegen_type = FILEGEN_NONE;
break;
case T_Pid:
filegen_type = FILEGEN_PID;
break;
case T_Day:
filegen_type = FILEGEN_DAY;
break;
case T_Week:
filegen_type = FILEGEN_WEEK;
break;
case T_Month:
filegen_type = FILEGEN_MONTH;
break;
case T_Year:
filegen_type = FILEGEN_YEAR;
break;
case T_Age:
filegen_type = FILEGEN_AGE;
break;
}
本文探讨了C/C++编程语言中switch语句default部分的放置位置对其执行逻辑的影响,并通过示例代码验证了default部分的执行与位置无关。
2179

被折叠的 条评论
为什么被折叠?



