黑马程序员技术交流社区

标题: 求大神指导!! [打印本页]

作者: 郭来印    时间: 2015-8-7 01:47
标题: 求大神指导!!
int main(int argc, const char * argv[]) {
    // 定义变量,数组
    char ch[100];
    int a=0,b=0,c=0,d=0;
    printf("请输入大写的字符串:\n");//提醒用户输入字符
    gets(ch);//接收用户输入的字符
    for (int i=0; ch[i]!='\0'; i++) {//判断输入的A,B,C,D个数
    switch (ch[i]) {
        case 'A': a++;break;
        case 'B': b++;break;
        case 'C': c++;break;
        case 'D': d++;break;}
    }
    printf("%d,%d,%d,%d\n",a,b,c,d);//输出A B C D的个数
    int a1=a,b1=b,c1=c,d1=d;
    int cishu[4]={a,b,c,d};//定义次数整形数组
    maopao(cishu,4);//调用冒泡排序函数为cishu[]数组排序
    for (int x=0; x<4; x++) {//输出排序后的次数
                printf("%d\t",cishu[x]);}
            printf("\n");
    for (int i=0; i<4; i++) {//判断A B C D排序后的位置
        switch (cishu[i]) {
            case a1:printf("A\t");break;
            case b1:printf("B\t");break;
            case c1:printf("C\t");break;   ==》此处为何报错?说是a1 b1 c1 d1不是整型常量
            case d1:printf("D\t");break;
        }}return 0;}
作者: flywithde    时间: 2015-8-7 09:11
case后要跟整型或者字符型常量 不能是变量,你的这四个都是整型变量而不是常量
作者: 郭来印    时间: 2015-8-7 10:15
谢谢了  明白了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2