C案例编号+;1:需要括号吗?

C案例编号+;1:需要括号吗?,c,switch-statement,C,Switch Statement,用C编程我发现,在开关盒中,通过给它们取相同的名称并添加一个数字,可以方便地将它们分成几组,如下所示: case initiating: break; case (initiating+1): break; 等等 目前我仍在使用括号(初始化+1)。但我想知道,我必须这么做吗 会 工作 我真的找不到anwser。如果启动是一个常量,它应该可以工作。大小写标签不需要用括号括起来,即使它们是包含算术运算的表达式。正如您所见,开关需要一个常量表达式。每个标签在编译时都应该是已知的。括号不是必需的,但

用C编程我发现,在开关盒中,通过给它们取相同的名称并添加一个数字,可以方便地将它们分成几组,如下所示:

case initiating:
break;

case (initiating+1):
break;
等等

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

工作


我真的找不到anwser。

如果启动是一个常量,它应该可以工作。

大小写标签不需要用括号括起来,即使它们是包含算术运算的表达式。

正如您所见,开关需要一个常量表达式。每个标签在编译时都应该是已知的。括号不是必需的,但可以提高可读性。确保你真的需要(启动+2)。2是一个幻数,不向程序的读者提供任何附加信息。使用枚举将获得相同的结果,但可读性更好


验证该方法是否有效的最佳方法是简单地写下一个示例并进行编译。

案例标签必须是编译时常量。案例标签中不能有变量。除非你告诉我们什么是
启动
,最好是以a的形式,否则就只能这么说了。
case (initiating+2):