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

不理解switch

不理解switch和case之间是什么关系怎么执行的,为什么case后边不是100,90,80这些

正在回答

1 回答

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;
}
}


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

weibo_啊哈小明_0 提问者

非常感谢!
2015-12-08 回复 有任何疑惑可以回复我~
#2

Virture 回复 weibo_啊哈小明_0 提问者

不客气
2015-12-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926206    人
  • 解答问题       20797    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

不理解switch

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