GNU案例范围扩展允许在switch语句中使用case范围:
switch (value) { case 1 ... 8: printf("Hello,1 to 8\n"); break; default: printf("Hello,default\n"); break; }
你如何将其转换为标准C(c99或c89)?添加个案陈述?
编辑:具体如何处理非常大的switch语句?
解决方法
switch(value) { case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: printf("Hello,1 to 8\n"); break; default: printf("Hello,default\n"); break; }
编辑:回答评论.
如果您的案例太多,那么您可能需要考虑用if-else结构替换switch-case.它可以更清洁,简洁和可读.
if (value >=1 && value <= 8) { printf("Hello,1 to 8\n"); } else { printf("Hello,default\n"); }