C 当存在与枚举成员同名的局部变量时,如何引用枚举成员? #包括 枚举颜色{b,g,i,k}; void main() { int b=100;//第7行 枚举颜色输出=b;//第8行 printf(“%d\n”,out); }

C 当存在与枚举成员同名的局部变量时,如何引用枚举成员? #包括 枚举颜色{b,g,i,k}; void main() { int b=100;//第7行 枚举颜色输出=b;//第8行 printf(“%d\n”,out); },c,C,在第8行中,我指的b是颜色。b不是在第7行中声明的。在C++中,我可以将b from color称为color::b,在C中,我如何做到这一点?前面已经提到过,枚举是全局范围的一部分。通常使用前缀来区分它们,例如: 枚举颜色{ cB、cG、cI、cK } 您也可以通过以下方式完成: #包括 结构颜色{ int b,g,i,k; }常量color={0,1,2,3}; void main() { int b=100;//第7行 int out=color.b;//第8行 printf(“%d\n”

第8行
中,我指的
b
颜色。b
不是在
第7行
中声明的。在
C++
中,我可以将
b from color
称为
color::b
,在
C
中,我如何做到这一点?

前面已经提到过,枚举是全局范围的一部分。通常使用前缀来区分它们,例如:

枚举颜色{
cB、cG、cI、cK
}

您也可以通过以下方式完成:

#包括
结构颜色{
int b,g,i,k;
}常量color={0,1,2,3};
void main()
{
int b=100;//第7行
int out=color.b;//第8行
printf(“%d\n”,out);
}

这在C语言中是不可能的,因为枚举实际上只不过是奇特的全局符号数字整数常量。@user3386109注意到。感谢输入不可能与EnUM,但检查我的答案,如果你想模仿C++
#include<stdio.h>

enum color {b,g,i,k};

void main()
{
   int b=100; //line 7
   enum color out=b; //line 8
   printf("%d\n",out);
}