原文链接: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”后台给我留言,欢迎一起探讨交流。