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

正在回答

5 回答

switch后面的表达式语句只能是整型或者字符类型。

而且你那么写c语言也不对,也·应该写出(score<=100&&score>=90)

但是怎么写好像放在case后面执行也显示错误

score/10==8   跟下面case 10到case 6有对应的case执行进去,否则你代码执行出来永远显示的执行default语句内容

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

你这样的话,得到应该是等级D,case后面跟的是常量表达式,当switch()括号里面的值与某一case后面的值相同时,执行case后面的语句。

目前你的score的值是87,case后面的值没有与之对应的值,所以执行default后面的语句。

望采纳


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

为啥要除10

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

这不对吗?

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

#include <stdio.h>

int main() 

{

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

    

    switch(score)

    {

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

          这种方式的好处?*/

        case 10:90<=score<=100; 

        case 9:

            printf("等级A");

            break;

        case 8:80<=score<90;

            printf("等级B");

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

        case 7:

        case 6: 60<=score<80;

            printf("等级C");

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

        default:score<60;

            printf("等级D");

            break;    

    }

    return 0;

}


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

举报

0/150
提交
取消

为什么要score/=10

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