【发布时间】:2018-03-16 15:03:42
【问题描述】:
我想在我的代码中创建一个 switch 语句,它的情况跨越大范围的整数 (1-15000),分为 3 个部分:1-5000,5001-10000,10001-15000。
我试过一次是这样的:
switch(number) {
case 1 ... 1000: (statement here);
这给了我一个关于“...”的语法错误-“期望一个:”。
然后我尝试了:
switch (number) {
case 1:
case 5000:
(statement);
break;
此方法确实编译但没有按预期工作,对于未明确列出的情况的错误答案。
在网上找不到任何其他建议。 有人可以帮忙吗?
【问题讨论】:
-
简答:你不能在(标准)C中做到这一点。你必须使用
if -
罗杰。我试试,谢谢。
-
这个问题确实与“已经回答”的其他问题有所不同。在这种情况下,范围的大小相同。尝试像这样利用固有的楼层划分
switch( (number-1)/5000 ) { case 0: break; case 1: break; case 2: break; default: }
标签: c switch-statement case