【问题标题】:Why this code is showing "error: label at end of compound statement"?为什么此代码显示“错误:复合语句末尾的标签”?
【发布时间】:2022-01-24 14:21:48
【问题描述】:

我想通过在开关的任何位置放置默认值来进行检查。它应该打印默认的 printf 语句,因为在开关中检查了默认大小写之后,没有匹配的大小写标签。但它显示了上述错误。

#include <stdio.h>

int main(void) {
    // your code goes here
    char ch='g';
    switch(ch){
        default: printf("Success!\n");
        case 'v':
        case 'h':
    }
    return 0;
}

【问题讨论】:

    标签: switch-statement label clang syntax-error case


    【解决方案1】:

    尝试放空;在案例陈述之后。

    【讨论】:

    • 实际上,通过放置break,它工作正常。我的疑问是,如果条件与任何案例标签都不匹配,那么它应该按照规则转到默认案例。甚至,什么时候,我把默认情况放在最后,在这两种情况之后,它就可以正常工作了!但是,它在这种情况下不起作用,因此我对将默认值放置在开关中的任何位置的规则有疑问。
    猜你喜欢
    • 2014-05-13
    • 1970-01-01
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-22
    • 1970-01-01
    相关资源
    最近更新 更多