用C编程我发现在一个切换案例中,通过给它们命名相同的名称并添加一个数字来方便地组成几小组,这很方便。
case initiating:
break;
case (initiating+1):
break;
等等等
目前,我仍在使用括号(初始化+1)。但是我想知道,我必须这样做吗?
会
case (initiating+2):
工作吗?
我真的找不到答案。
答案 0 :(得分:2)
您可以看到here,开关需要一个常量表达式。每个标签都应该在编译时知道。不需要括号,但可以提高可读性。确保您确实需要(启动+ 2)。 2是一个魔幻数字,不向程序读者提供任何其他信息。使用枚举将获得相同的结果,但可读性更好。
验证是否可行的最佳方法是简单地写下一个示例并将其编译。
答案 1 :(得分:0)
如果txtSysId
是常数,则它应该起作用。
答案 2 :(得分:0)
大小写标签不必包含在括号中,即使它们是包含算术运算符的表达式。