注册 登录
编程论坛 新人交流区

新手,switch的小程序,总是编译不通过?

五月草 发布于 2007-11-02 11:43, 341 次点击

main()
{
int a;
scanf("%d",&a);
char c1,c2,c3;
c1='A';
C2='B';
C3='C';
switch(a)
case >=90,printf("%c\n",C1);
case <=89 && >=80,printf("%c\n",C2);
case <=79 && >=70,printf("%c\n",C3);

}


有错的地方,还请大家帮我指出来,谢谢了

[此贴子已经被作者于2007-11-2 11:58:18编辑过]

7 回复
#2
寒天雪地2007-11-02 11:50
以下是引用五月草在2007-11-2 11:43:47的发言:

main()
{
int a;
switch(a)
case >90,printf("%d",A);
case <=89 && >=80,printf("%d",B);
case <=79 && >=70,printf("%d",c);

}

有错的地方,还请大家帮我指出来,谢谢了

int a;/*a的值不确定*/
最好再加个default 语句!

#3
fairy42007-11-02 11:55
如果是VB。NET2003以上可以
case a to b


case 只能獲取一個 值
比如
case 8,不可以用>,>=的
#4
五月草2007-11-02 11:58

我自己看了看,又改了改

#5
unname2007-11-02 13:11
case后面应该是常量
#6
五月草2007-11-02 13:58
用if else是可以执行的,就是用到switch就不会了,哎,我再试试
#include <stdio.h>
main()
{
int z;
printf("please input the num:");
scanf("%d",&z);
char a,b,c,d;
a='A';
b='B';
c='C';
d='D';
if(z>=90)
printf("%c\n",a);
else if(z>=80 && z<90)
printf("%c\n",b);
else if(z>=70 && z<80)
printf("%c\n",c);
else
printf("%c\n",d);
}
#7
zhqifshy2007-11-02 18:52
case后面要是常量,而且每句case语句结束前要有break,不然程序会从符合条件的位置开始一直运行到结束。
#8
一起上上网2007-11-02 19:30

只想说错得太多 去找switch/case的语法好好看看

1