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

一直输出结果是d,为啥啊

#include <stdio.h>
int main()
{
    int score = 87; //考试分数为87分
    
    switch(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 回答

score/=10;应该在switch语句前面。

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

你的score/=10 放错位置了

你应该直接放在 int score=87;下面

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

想想你switch(score)中score指的是哪个score?是score=87的?还是score=score/10的?(根据你的代码score=87,不是case10,9,8,7,6.所以只能从default出来也就是等级d了,我尽量去说清楚了,你慢慢理解哈哈哈)。解决办法score=score/10写在switch的前面一行



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

+1,脑壳痛,甚至有点头皮发凉


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

举报

0/150
提交
取消

一直输出结果是d,为啥啊

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