可以用返回语句切换语句吗?- 代码的正确性问题

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (16)

假设我在C中有代码,其结构大致如下:

switch (something)
{
    case 0:
      return "blah";
      break;

    case 1:
    case 4:
      return "foo";
      break;

    case 2:
    case 3:
      return "bar";
      break;

    default:
      return "foobar";
      break;
}

显然,代码的正确运行并不需要“中断”,但是如果我不把它们放在那里的话,这似乎是一种糟糕的做法。

你认为如何?移除它们可以吗?或者你会为了增加“正确性”而保留它们吗?

提问于
用户回答回答于

删除中断语句。它们不需要,也许一些编译器会发出“无法到达的代码”警告。

用户回答回答于

我会采取完全不同的方法。不要在方法/函数的中间返回,而是将返回值放在局部变量中并发送到最后。

就我个人而言,我发现以下内容更易读懂:

String result = "";

switch (something) {
case 0:
  result = "blah";
  break;
case 1:
  result = "foo";
  break;
}

return result;

所属标签

可能回答问题的人

  • 西风

    renzha.net · 站长 (已认证)

    9 粉丝1 提问5 回答
  • uncle_light

    5 粉丝518 提问3 回答
  • 学生

    2 粉丝477 提问3 回答
  • 军哥

    重庆雷驰信息技术有限公司 · 经理 (已认证)

    5 粉丝1 提问3 回答

扫码关注云+社区

领取腾讯云代金券