C/C++错误集锦(DEV-C++): switch-case语句判断时提示:case label does not reduce to an integer constant

原文链接:http://www.juzicode.com/cpp-error-case-label-does-not-reduce-to-an-integer-constant

错误提示:

 switch-case语句判断时提示:case label does not reduce to an integer constant

//VX:桔子code / juzicode.com
#include <stdio.h>
int main(void)
{
    int x;
    printf("输入数值: "); 
    scanf("%d",&x);
    switch(x){
        case 1: printf("星期一\n"); break;
        case 2: printf("星期二\n"); break;
        case 3: printf("星期三\n"); break;
        case 4: printf("星期四\n"); break;
        case 5: printf("星期五\n"); break;
        case 6: printf("星期六\n"); break;
        case 7.0: printf("星期天\n"); break;
        default:printf("输入错误\n"); break;
    }
    return 0;
}

 

错误原因:

1、switch-case语句中,case语句后面的值必须是整型类型或者char类型。

 

解决方法:

1、修改第15行case后的数值为整型类型的7:

//VX:桔子code / juzicode.com
#include <stdio.h>
int main(void)
{
    int x;
    printf("输入数值: "); 
    scanf("%d",&x);
    switch(x){
        case 1: printf("星期一\n"); break;
        case 2: printf("星期二\n"); break;
        case 3: printf("星期三\n"); break;
        case 4: printf("星期四\n"); break;
        case 5: printf("星期五\n"); break;
        case 6: printf("星期六\n"); break;
        case 7: printf("星期天\n"); break;
        default:printf("输入错误\n"); break;
    }
    return 0;
}

 


如果本文还没有完全解决你的疑惑,你也可以在微信公众号“桔子code”后台给我留言,欢迎一起探讨交流。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注