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

他输出的是b和c什么情况

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

正在回答

1 回答

执行switch代码块时score的值是8,

与15行case 8匹配,所以输出后面的“等级B”,

然后接着执行后面的语句而无需匹配case 后面的值,直到遇到break才会跳出switch语句,

如果没有第21行的break,“等级D”也会输出来,讲解的第二条说的就是这个。

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

举报

0/150
提交
取消

他输出的是b和c什么情况

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