我正在使用switch语句来检测特殊情况并从我的主函数中提前返回。特殊情况使用枚举类型进行编码,如下所示。
typedef enum {
NEG_INF,
ZERO,
POS_INF,
NOT_SPECIAL
} extrema;
int main(){
// ...
extrema check = POS_INF;
switch(check){
NEG_INF: printf("neg inf"); return 1;
ZERO: printf("zero"); return 2;
POS_INF: printf("pos inf"); return 3;
default: printf("not special"); break;
}
// ...
return 0;
}
很奇怪,当我运行这段代码时,控制台会打印字符串not special
,而主函数的其余部分则继续执行。
我该如何使switch语句在此处正常工作?谢谢!