问答详情
源自:4-16 分支结构之switch语句

为什么case语句后的常量是10、9呢?

小明期末考试分数为87分,在代码编辑器中完善代码使其输出结果为: 等级B
hello.c
#include <stdio.h>
int main()
{
    int score = 87; //考试分数为87分

    switch(score)
    {
        /*想想以下代码为什么用这种方式;
          这种方式的好处?*/
        case 10:
        case 9:
            printf("等级A");
            break;
        case 8:
            printf("等级B");
                            //这里是不是缺点什么?           
        case 7:
        case 6:
            printf("等级C");
                            //这里是不是缺点什么? 
        default:
            printf("等级D");
            break;   
    }
    return 0;
}

提问者:慕粉1009279216 2017-03-21 07:07

个回答

  • 绝望的跳骚
    2017-04-16 22:08:27

    case后边跟的是满足条件,所以必须是一个常量,或者常量表达式,意思就是必须跟一个唯一值。

  • 折纸丶残痕
    2017-03-21 13:02:49

    9、8、7这些是指score的十位数  毕竟关系表达式的跨度是10个单位以上。