【发布时间】:2017-03-01 05:20:14
【问题描述】:
为什么默认情况下会触发以下情况:
typedef enum {VALUE_ONE, VALUE_TWO} someValue;
typedef struct {
someValue value;
} myStruct;
---main() BELOW---
myStruct* myPtr = malloc(sizeof(myStruct));
myPtr->value = VALUE_ONE;
switch (myPtr->value) {
case VALUE_ONE:
...;
case VALUE_TWO:
...;
default:
...;
}
如果我使用 if 语句,代码将正常工作。目前,我想使用 switch-case 来打印出价值特定的短语。
更新:忘记了 break 语句。谢谢大家!
【问题讨论】:
-
你是否在每个
case的末尾使用break;? -
以上代码也可以在 switch-case 中使用。请注意,您需要在每个案例之后添加一个中断。
-
哈哈哈,尴尬了。忘记休息了。
标签: c pointers enums switch-statement