大神们,求指教,为什么结果是等级d

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

noe12138

2018-08-18 21:42

#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;

写回答 关注

3回答

  • Matrix_l
    2018-08-18 23:32:43
    已采纳

    你把score=score/10;写在里面呢,要放在switch上面

    Matrix... 回复noe121...

    不用谢,一起学习?

    2018-08-19 21:01:31

    共 2 条回复 >

  • 慕工程8748256
    2018-08-22 15:13:18

    为什么放在里面就不行呢?


    好咩

    因为系统是先判断你的score属于哪个case,明显87不属于前面几个case所以直接跳到default那里去了

    2018-10-05 16:40:58

    共 2 条回复 >

  • 慕妹0878851
    2018-08-18 23:25:32

    score=score/10;    应该放在switch语句外, 放在switch语句内无意义

C语言入门

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

926206 学习 · 20797 问题

查看课程

相似问题