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

为什么要score/=10

score/=10

提问者:weixin_慕函数1492696 2020-11-05 14:27

个回答

  • 慕标4319917
    2020-12-05 01:09:17

    switch后面的表达式语句只能是整型或者字符类型。

    而且你那么写c语言也不对,也·应该写出(score<=100&&score>=90)

    但是怎么写好像放在case后面执行也显示错误

    score/10==8   跟下面case 10到case 6有对应的case执行进去,否则你代码执行出来永远显示的执行default语句内容

  • qq_慕沐0523029
    2020-11-10 17:36:35

    你这样的话,得到应该是等级D,case后面跟的是常量表达式,当switch()括号里面的值与某一case后面的值相同时,执行case后面的语句。

    目前你的score的值是87,case后面的值没有与之对应的值,所以执行default后面的语句。

    望采纳


  • weixin_慕函数1492696
    2020-11-05 14:39:38

    为啥要除10

  • weixin_慕函数1492696
    2020-11-05 14:38:58

    这不对吗?

  • weixin_慕函数1492696
    2020-11-05 14:38:26

    #include <stdio.h>

    int main() 

    {

        int score = 87; //考试分数为87分 

        

        switch(score)

        {

            /*想想以下代码为什么用这种方式;

              这种方式的好处?*/

            case 10:90<=score<=100; 

            case 9:

                printf("等级A");

                break;

            case 8:80<=score<90;

                printf("等级B");

                break;           //这里是不是缺点什么?  

            case 7:

            case 6: 60<=score<80;

                printf("等级C");

                break;                //这里是不是缺点什么?  

            default:score<60;

                printf("等级D");

                break;    

        }

        return 0;

    }