enum NOTES{C10=131,D10=147,E10=165,F10=175,G10=196,A10=220,B10=247,C0=262,D0=296,E0=330,F0=349,G0=392,A0=440,B0=494,C1=523,D1=587,E1=659,F1=698,G1=784,A1=880,B1=988,C2=1047,D2=1175,E2=1319,F2=1397,G2=1568,A2=1760,B2=1976}song[80];
2 回答

GCT1015
TA贡献1827条经验 获得超4个赞
首先你要清楚枚举是什么东西。它的限制有什么。
枚举值是常量,不是变量。不能在程序中用赋值语句再对它赋值。
枚举并不能像数组那样去修改成员的值。
你这种定义和说明方式来说,可以看出对枚举的理解似乎不太对。
enum NOTES// 此处是定义,此处可以生命基础类型 例如enum NOTES:int
{
C10=131,D10=147,E10=165,F10=175,G10=196,A10=220,B10=247,
C0=262,D0=296,E0=330,F0=349,G0=392,A0=440,B0=494,
C1=523,D1=587,E1=659,F1=698,G1=784,A1=880,B1=988,
C2=1047,D2=1175,E2=1319,F2=1397,G2=1568,A2=1760,B2=1976
}song[80];//此处是枚举的说明。
下面有个实例,你可以看下,大致就能理解你的错误了。
main(){
enum weekday
{ sun,mon,tue,wed,thu,fri,sat } a,b,c;
a=sun;
b=mon;
c=tue;
printf("%d,%d,%d",a,b,c);
}
说明:只能把枚举值赋予枚举变量,不能把元素的数值直接赋予枚举变量。如:
a=sum;
b=mon;
是正确的。而:
a=0;
b=1;
这个是不行的。
添加回答
举报
0/150
提交
取消