将GNU案例范围扩展转换为标准C

前端之家收集整理的这篇文章主要介绍了将GNU案例范围扩展转换为标准C前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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"); 
}

猜你在找的C&C++相关文章