score/=10;为什么不能放在switch里面呢?

来源:4-16 分支结构之switch语句

慕用3109887

2018-09-11 09:21

#include <stdio.h>
int main()
{
    int score = 87; //考试分数为87分
    switch(score)
    {
        /*想想以下代码为什么用这种方式;
          这种方式的好处?*/
        score=score/10; 
        case 10:
        case 9:
            printf("等级A");
            break;
        case 8:
            printf("等级B");
            break;                //这里是不是缺点什么?           
        case 7:
        case 6:
            printf("等级C");
            break;                //这里是不是缺点什么? 
        default:
            printf("等级D");
            break;   
    }
    return 0;
}

写回答 关注

4回答

  • 我不要我不要
    2018-09-25 19:14:45

    你们有没有试过放在SWITCH()里呢?那为啥我试了结果是对的

  • 至尊宝vs二爷
    2018-09-14 20:10:23

    score/=10只有放在switch之前才能被switch选择


  • 至尊宝vs二爷
    2018-09-14 20:07:54

    #include<stdio.h>


    void main()

    {

    int score = 87;

    score/=10;

        switch(score)

        {

            case 10:

            case 9:

                printf("等级A");

                break;

            case 8:

                printf("等级B"); 

    break;

            case 7:

            case 6: 

                printf("等级C");

    break;

            default:

                printf("等级D");

                break;    

        }

    }

    这样才能输出等级B,没有score/=10 or score=score/10是关键

  • 慕设计0398473
    2018-09-11 11:23:28

    因为你需要在选择(switch)之前就将score/10,否则你选择的就是score = 87,最终只能到最后输出等级D

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926210 学习 · 20797 问题

查看课程

相似问题