// C语法 enum Weekday { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }; int main() { enum Weekday d = SATURDAY; printf("%d\n", d); // 6 }
时间: 2024-02-14 09:28:51 浏览: 36
这段代码定义了一个枚举类型Weekday,包含了一周中的七个值:SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY和SATURDAY。在主函数中,通过将枚举值SATURDAY赋给变量d,然后使用printf函数打印出d的值,即6。每个枚举值的默认初始值从0开始,并递增。
相关问题
c语言typedef enum用法
typedef enum 是 C 语言中用来定义枚举类型的关键字。它的基本语法如下:
```ctypedef enum {
枚举值1,
枚举值2,
...
} 枚举类型名;
```
这里的枚举值可以是任意整数常量,枚举类型名是你给该枚举类型起的名称。你可以使用这个枚举类型名来声明变量,并使用枚举值对变量进行赋值。
下面是一个示例:
```c
typedef enum {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
} Weekday;
int main() {
Weekday day = MONDAY;
switch (day) {
case MONDAY:
printf("Today is Monday.\n");
break;
case TUESDAY:
printf("Today is Tuesday.\n");
break;
// ...
}
return 0;
}
```
在上面的例子中,我们使用 typedef enum 定义了一个 Weekday 枚举类型,并将它的枚举值分别命名为 MONDAY、TUESDAY 等。我们可以声明一个 Weekday 类型的变量 day,并将其赋值为 MONDAY。在 switch 语句中,我们可以根据 day 的值来执行不同的代码块。
希望这个例子能够帮助你理解 typedef enum 的用法。如果还有其他问题,请随时提问。
Enum转string
将一个枚举类型的值转换为字符串类型可以通过以下两种方式实现:
1. 使用枚举类型的ToString()方法
每个枚举类型都有一个ToString()方法,可以将枚举值转换为对应的字符串。例如:
```
enum WeekDay { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday };
WeekDay day = WeekDay.Monday;
string dayString = day.ToString(); // "Monday"
```
2. 使用类型转换操作符
可以使用类型转换操作符将枚举值转换为int类型,然后将int类型转换为字符串类型。例如:
```
enum WeekDay { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday };
WeekDay day = WeekDay.Monday;
string dayString = ((int)day).ToString(); // "0"
```
需要注意的是,如果枚举类型定义了字符串常量,可以使用字符串常量来表示枚举值,例如:
```
enum WeekDay { Monday = 1, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday };
WeekDay day = WeekDay.Monday;
string dayString = day.ToString(); // "Monday"
WeekDay friday = WeekDay.Friday;
string fridayString = friday.ToString(); // "Friday"
WeekDay saturday = WeekDay.Saturday;
string saturdayString = saturday.ToString(); // "Saturday"
```