该程序产生以下错误:
case 标签不会减少为整数常量|
我只是不明白为什么在函数体内显式声明的常量third_cond
,分配的初始化程序不被视为常量,而'd 标识符同时被视为常量。如果我使用文字,程序可以正常工作而不是或简单地作为. 请解释为什么会这样,除非这个问题是重复的。我查了,但没有找到答案。3
case 3
#define
second_value
3
third_cond
#define
third_cond
3
#include<stdio.h>
#define second_cond 2
int main()
{
const int third_cond=3;
int choice;
printf("Enter your choice\n");
scanf("%d",&choice);
switch(choice)
{
case 1:
printf("Beggar");
break;
case second_cond:
printf("Mugger");
break;
case third_cond:
printf("Lugger");
break;
default:
printf("Bugger");
}
}