首页 > 试题广场 >

设有以下枚举类型说明语句: enum weekday(Mo

[单选题]
设有以下枚举类型说明语句:
enum weekday(Mon=1,Tues,Wed,Thurs,Fri,Sat,Sun=0}week;
下面哪一条赋值语句是错误的?
  • week=weekday(l);
  • week=Mon;
  • week=1;
  • week=(weekday)1;
  • 枚举变量的一般形式
enum 枚举名 { 枚举常量表}

enum weekday {sun, mou, tue, wed, thu, fri, sat }; 

  • 枚举变量的说明
可以先定义类型再说明变量
enum weekday {sun, mou, tue, wed, thu, fri, sat };
weekday week;
也可以在定义类型的同时说明变量
enum weekday {sun, mou, tue, wed, thu, fri, sat }week;

  • 注意事项
枚举元素本身由系统定义了一个表示序号的数值,从0开始顺序定义为0,1,2,……。但也可以在定义类型时改变枚举元素的值
例如:上面的weekday中,sun值为0,mon值为1,……
也可以定义成:enum weekday {sun=7, mou, tue, wed, thu, fri, sat } ;,sun=7,mon=8,其后的元素值顺序加1,sat=13。
可以把枚举常量赋给枚举变量,但不能把元素的序号值赋给枚举变量。

d1=sun;d2=mon;——正确。

d1=0;   d2=1;      ——错误。

如果一定要把数值赋值给枚举变量,则必须用强制类型转换。

例如:d1= (weekday)2;或者可以表示为d1=weekday (2);

意义是将顺序号为2的枚举元素赋给枚举变量d1,相当于d1=tue;另外,枚举元素不是字符常量也不是字符串常量,使用时不要加单、双引号


发表于 2020-02-16 12:39:44 回复(0)
C  1为int 不能直接进行赋值
发表于 2020-02-07 19:16:28 回复(0)