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

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

#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 回答

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

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

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


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

#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是关键

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

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

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

举报

0/150
提交
取消

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

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