C语言,这个错哪里了?

2025-06-27 11:36:32
推荐回答(2个)
回答1:

不要用视频,没法看

回答2:

1、switch括号里是表达式或整数或字符(字符在内存中也是整形数ASCII码)。

2、case后面要跟整形常量,包括字符和枚举常量。

如非要用switch,可改成如下代码:

#include

#include

int main()

{

    int x;

    printf("请输入分数:");

    scanf("%d",&x);

    switch(x/10)// switch(表达式):表达式那里也可以写整形或字符,但不能是浮点数

    {

        case 9:printf("A\n");break;//case后面是整型常量(int,char,enum常量)

        case 8:printf("B\n");break;

        case 7:printf("C\n");break;

        case 6:printf("D\n");break;

        case 5:printf("E\n");break;

        default:printf("请输入正确的分数:");

    }

    system("pause");

    return 0;

}

//ps:条件判断可用if,话说X>=60和x<=60区间重复了。

//另外你在default中提示再次输入,但程序后面直接结束了,想连续执行,至少外围再套个循环。