在C中切换案例多个范围

时间:2017-08-18 08:20:11

标签: c switch-statement

switch (mark / 10) {
    case 10:
    case 9:
    case 8:
    printf("The Grade is A.\n");
    break;
    case 7:
    printf("The Grade is B.\n");
}
}
}

mark> = 75给出A级。
我是否可以知道如何编辑案例7,以便它可以检测到75及以上为A级。 谢谢!

2 个答案:

答案 0 :(得分:2)

如果您打算只使用gcc,可以使用开关范围:

https://gcc.gnu.org/onlinedocs/gcc/Case-Ranges.html

switch (mark) {
    case 75 ... 100:
       printf("The Grade is A.\n");
       break;

    case 70 ... 74:
       printf("The Grade is B.\n");
       break

    /*....*/
}

答案 1 :(得分:2)

对于此任务,只需使用if声明

if (mark >= 75 && mark < 100) {
    //A
} else if (mark >= 70 && mark < 75) {
    //B
} else { /* Invalid */ }