不理解switch和case之间是什么关系怎么执行的,为什么case后边不是100,90,80这些
switch(<条件>)
{
case 1 :<语句体>;break;
case 2 :<语句体>;break;
……
default:<语句体>;
};当switch括号内的条件等于case 后面的常量表达式时,就会执行case后面的代码段
例如:
#include<stdio.h>
int main()
{
double score;
printf("请输入分数:\n");
scanf("%lf",&score);
switch((int)(score/10))//switch((int)score/10)出现严重错误
{
case 10:
case 9:printf("A(最好)\n");break;
case 8:printf("B(优秀)\n");break;
case 7:printf("C(良好)\n");break;
case 6:printf("D(及格)\n");break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
printf("E(不及格)\n");break;
default:
printf("Error!\n");
}
}#include<stdio.h>
intmain()
{
charrank;
printf("请输入分数等级:(A、B、C、D、E)\n");
scanf("%c",&rank);
switch(rank)//switch((int)score/10)出现严重错误,switch(((int)score)/10)出现严重错误,
{
case'A':printf("A(90~100)\n");break;
case'B':printf("B(80~89)\n");break;
case'C':printf("C(70~79)\n");break;
case'D':printf("D(60~69)\n");break;
case'E':printf("E(0~59)\n");break;
default:printf("error!\n");break;
}
}