C案例编号+1:是否需要括号?

时间:2018-07-23 11:35:08

标签: c switch-statement

用C编程我发现在一个切换案例中,通过给它们命名相同的名称并添加一个数字来方便地组成几小组,这很方便。

case initiating:
break;

case (initiating+1):
break;

等等等

目前,我仍在使用括号(初始化+1)。但是我想知道,我必须这样做吗?

case (initiating+2):

工作吗?

我真的找不到答案。

3 个答案:

答案 0 :(得分:2)

您可以看到here,开关需要一个常量表达式。每个标签都应该在编译时知道。不需要括号,但可以提高可读性。确保您确实需要(启动+ 2)。 2是一个魔幻数字,不向程序读者提供任何其他信息。使用枚举将获得相同的结果,但可读性更好。

验证是否可行的最佳方法是简单地写下一个示例并将其编译。

答案 1 :(得分:0)

如果txtSysId是常数,则它应该起作用。

答案 2 :(得分:0)

大小写标签不必包含在括号中,即使它们是包含算术运算符的表达式。