C语言:switch语句用法

时间:2014.05.20 发布人:Brucelfy

C语言:switch语句用法

已解决问题

谷歌Brucelfy用户在2014.05.20提交了关于“大宝C语言:switch语句用法”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-10-20T21:57:29。哪错了?

#include"stdio.h"
voidmain()
{
charc;
scanf("%c",&c);
switch(c)
{
case(c>=90&&c<=100):printf("成绩的**为:A.
");
bre**;
case(c>=80&&c<=89):printf("成绩的**为:B.
");
bre**;
}

}


PS:case(c>=90&&c<=100):printf("成绩的**为:A.
");重点解释希望大家能够帮助她。

详细问题描述及疑问:哪错了?

#include"stdio.h"
voidmain()
{
charc;
scanf("%c",&c);
switch(c)
{
case(c>=90&&c<=100):printf("成绩的**为:A.
");
bre**;
case(c>=80&&c<=89):printf("成绩的**为:B.
");
bre**;
}

}


PS:case(c>=90&&c<=100):printf("成绩的**为:A.
");重点解释期待您的答案,不知道说什么,送你一朵小红花吧 !

希望以下的回答,能够帮助你。

第1个回答

用户名:握胜见斯清探否文称宽gundinghu  

case(c>=90&&c<=100):
case后面的必须是一个常量。
你这个可以先将成绩除以10,再问答用switch
#includ能此必剧波毛e"stdio.h"
voidmain()
{
charc;/*这里别用char,改成:intc,d;*/
scanf("%c",&c);/*这一句也改成scanf("%世围散振区纪械建卫静氢d",&c);最好前面再加一句,printf("请输入成绩:");在这句后面加一句d=c宽齐达混沙/10;*/
switch四后名某加息老(c)/*然后switch里面用d来判断,switch(d)*/
{
c房总保推去ase(c>=90&&c<=100):printf("成绩的**为:A.
");
bre**;/*改成:case(10):
case(9):printf("成绩的**为:A.
");bre**;
case(c>=80&&c<=检香市学游攻都尔89):printf("成绩的**为:B.
");
bre**;/*改成:case(8):printf("成绩的**为:B.
");bre**;
}

}
因为90到100之间的数经过除以10再取整以后就变成了9;100/10等于10,又因为case调用同一个语句的时候允许就在最后一个语句写上那个语望报季路句,而将前面的那几个省略掉,所以case(10):后面的就省掉了,当然写上也不会错。
你的补充的那个,你可以把它分开表示,就像我给你弄的那个case(c>=90&&c<=100):printf("成绩的**为:A.
");
bre**;/*改成:case(10):
case(9):printf("成绩的**为:A.
");bre**;
虽然有实晚粒振甲为点纠缠不清的感觉,但是希望对解决你的疑问有一定的帮助,呵呵。。。