C++中关于指定枚举函数值的问题。
教材上以这么一段我们也可以在枚举类型定义时指定枚举元素的值,例如:enumweekday{sun=7,mon=1,tue,wed,thu,fri,sat};这时sun的值...
教材上以这么一段
我们也可以在枚举类型定义时指定枚举元素的值,例如:
enum weekday{sun = 7,mon = 1,tue,wed,thu,fri,sat};
这时sun的值是7,mon的值是1,而tue以后各元素的值,从mon的值开始,每次递增1,即tue的值为2,wed的值为3,…。如果不写mon = 1,则mon的值为8,tue的值为9,依此类推。
下面是我的问题:
enum weekday{sun = 3,mon = 1,tue,wed,thu,fri,sat};
上面的sun的值改成3,moon的值还是1,tue以后的数依次递增1,tue的值是2,wed的值不可能是3,因为与sun的值重复了,请问这时wed,thu,fri,sat的值分别为多少? 展开
我们也可以在枚举类型定义时指定枚举元素的值,例如:
enum weekday{sun = 7,mon = 1,tue,wed,thu,fri,sat};
这时sun的值是7,mon的值是1,而tue以后各元素的值,从mon的值开始,每次递增1,即tue的值为2,wed的值为3,…。如果不写mon = 1,则mon的值为8,tue的值为9,依此类推。
下面是我的问题:
enum weekday{sun = 3,mon = 1,tue,wed,thu,fri,sat};
上面的sun的值改成3,moon的值还是1,tue以后的数依次递增1,tue的值是2,wed的值不可能是3,因为与sun的值重复了,请问这时wed,thu,fri,sat的值分别为多少? 展开
5个回答
2011-07-19
展开全部
还是3,4,5啊!
枚举变量中的枚举元素系统是按照常量来处理的,故叫枚举常量,他们是不能进行普通的算术赋值,但是你可以在声明的时候进行赋值操作!
但是这里要特别注意的一点是,如果你不进行元素赋值操作那么元素将会被系统自动从0开始自动递增的进行赋值操作,说到自动赋值,如果你只定义了第一个那么系统将对下一个元素进行前一个元素的值加1操作。
enum weekday;
上面的sun的值改成3,moon的值还是1,tue以后的数依次递增1,tue的值是2,wed的值还是3,因为sun和wed只是枚举常量,他们都表示3.
枚举变量中的枚举元素系统是按照常量来处理的,故叫枚举常量,他们是不能进行普通的算术赋值,但是你可以在声明的时候进行赋值操作!
但是这里要特别注意的一点是,如果你不进行元素赋值操作那么元素将会被系统自动从0开始自动递增的进行赋值操作,说到自动赋值,如果你只定义了第一个那么系统将对下一个元素进行前一个元素的值加1操作。
enum weekday;
上面的sun的值改成3,moon的值还是1,tue以后的数依次递增1,tue的值是2,wed的值还是3,因为sun和wed只是枚举常量,他们都表示3.
展开全部
事实上wed值就是3
更多追问追答
追问
那么sun的值是多少?
追答
也是3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-07-16
展开全部
值可以重复的,wed的值就是3。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个应该可以重复的啊。。。同一枚举表中的枚举符表示的整型数值是可以重复的。。这个不是数学里的集合。也就是说wed的值就是3。
追问
那么weekday=3代表的到底是weekday=wed还是weekday=sun
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
枚举不是set 可以重复的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询