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



在C中编程时,我发现在开关案例中,通过给它们相同的名称并添加一个数字来制作小案例组是很方便的,比如:

case initiating:
break;
case (initiating+1):
break;

等等

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

case (initiating+2):

工作?

我真的找不到一个保姆。

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

验证这是否有效的最好方法是简单地写下一个例子并编译它

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

Case标签不需要括在括号中,即使它们是包含算术运算的表达式。

最新更新