如果检测到某些特殊情况,我将使用 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被打印到控制台,而 main 函数的其余部分继续执行。
如何让 switch 语句在这里正常运行?谢谢!