为了账号安全,请及时绑定邮箱和手机立即绑定

关于switch问题

为什么这样不行

#include <stdio.h>

int main() 

{

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

    

    switch(score)

    {

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

          这种方式的好处?*/

        

        case 1:

            if(score>=90)

            printf("等级A");

            break;

        case 2:

            if(score>=80)

            printf("等级B");

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

        case 3: 

            if(score>=60)

            printf("等级C");

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

        case 4:

            if(score<60)

            printf("等级D");

            break;    

    }

    return 0;

}为什么不行


正在回答

4 回答

switch语句本身就是一个判断语句,一般情况下可以直接判断,除非一些特别复杂的,switch(x)对应casex:,你懂我的意思把

0 回复 有任何疑惑可以回复我~

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

然后我把你所有的if去掉,也成功输出b,从这里可以看出来你的if语句是多余判断

0 回复 有任何疑惑可以回复我~
我试了一下,输出一个空结果,#include <stdio.h>int main() {    int score = 87; //考试分数为87分         switch(score)    {        /*想想以下代码为什么用这种方式;          这种方式的好处?*/                case 1:            if(score>=90)            printf("等级A");            break;        case 2:            if(score>=80)            printf("等级B");            break;                //这里是不是缺点什么?                    case 3:             if(score>=60)            printf("等级C");            break;                //这里是不是缺点什么?          case 4:            if(score<60)            printf("等级D");            break;        }    return 0;}
score=87然后开始运行switch语句也就是switch(87)我试了一下把case2改成case87成功输出b

0 回复 有任何疑惑可以回复我~

#include <stdio.h>

int main() 

{

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

    score/=10; //强制我写的,,,int  87/10=8;所以执行case 8; 

    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;    

    }

    return 0;

}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926207    人
  • 解答问题       20797    个

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

进入课程

关于switch问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信