switch case 句型中,case部分应该怎么写?
程序代码:
char*scan() { static char temp[11]; int i=0; char c; while(c=getchar()) { loop1: switch(c) { case '#': if(i==0) { c=getchar(); if(c=='\n') { temp[0]='#'; temp[1]='\0'; return temp; } else goto loop1; } else { goto loop2; } break; case 'a'-'z'://[ERROR]duplicate case value temp[i++]=c; break; case 'A'-'Z'://[ERROR]duplicate case value temp[i++]=c; break; default: loop2: if(i>10)i=10; temp[i]='\0'; if(i>2) { printf("{%s}",temp); return temp; } else { printf("{}"); return NULL; } break; } } }
我印象中switch case 句型里,case部分除了简单的整形和字符型以外好像是也能像我这样指定一个区间的吧?
请问是我记错了语法 还是switch case根本就不可以指定区间的?