相关疑难解决方法(0)

Switch语句:必须默认为最后一种情况?

请考虑以下switch声明:

switch( value )
{
  case 1:
    return 1;
  default:
    value++;
    // fall-through
  case 2:
    return value * 2;
}
Run Code Online (Sandbox Code Playgroud)

此代码编译,但它对C90/C99有效(=已定义的行为)?我从未见过默认情况不是最后一种情况的代码.

编辑:
正如Jon CageKillianDS所写:这是非常丑陋和令人困惑的代码,我很清楚它.我只对一般语法(它定义了吗?)和预期输出感兴趣.

c switch-statement

168
推荐指数
8
解决办法
10万
查看次数

标签 统计

c ×1

switch-statement ×1